﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыРасчетаСебестоимостиВыпуска
	{
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ОБЕСПЕЧЕНИЯ ПРОВЕДЕНИЯ ДОКУМЕНТА
		// Функция получает вид отражения в учете в зависимости от флажков документа.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public object ПолучитьВидОтраженияВУчете(/*СтруктураШапкиДокумента*/)
		{
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете;
			}
			return null;
		}
		// ПолучитьВидОтраженияВУчете()
		// Определяет, следует ли заполнять оборотные субконто (статью затрат и подразделение) в проводках
		// по данным учетной политики

		public object ЗаполнятьОборотныеСубконто(/*СтруктураШапкиДокумента*/)
		{
			if(true/*НЕ СтруктураШапкиДокумента.Свойство("УчетнаяПолитика")*/)
			{
				/*// Учетная политика в структуре должна быть
*/
			}
			if(true/*НЕ СтруктураШапкиДокумента.УчетнаяПолитика.Свойство("ЗаполнятьСтатьиИПодразделенияВПроводкахПриРаспределенииЗатрат")*/)
			{
				/*// В учетной политике регл. учета ресурс должен быть
*/
			}
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАБОТЫ С ДВИЖЕНИЯМИ ОБЪЕКТА
		// Функция получает наборы движений регистров.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	СтруктураИмен - Структура - Перечень необходимых регистров
		//
		// Возвращаемое значение:
		//	Структура - Наборы движений по регистрам
		//

		public object ПолучитьНаборыДвижений(/*
	СтруктураШапкиДокумента, 
	СтруктураИмен = Неопределено
	*/)
		{
			//СтруктураДвижений = Новый Структура;
			//ДокументОбъект = СтруктураШапкиДокумента.Ссылка.ПолучитьОбъект();
			//Движения = ДокументОбъект.Движения;
			/*// Наборы движений по регистрам.
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//ДвиженияВыпуск                   = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ВыпускПродукции"), 					Движения.ВыпускПродукции, Неопределено);
				//ДвиженияЗатраты                  = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("Затраты"), 							Движения.Затраты, Неопределено);
				//ДвиженияЗатратыОбороты           = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ЗатратыОбороты"), 					Движения.ЗатратыОбороты, Неопределено);
				//ДвиженияЗатратыНаВыпуск          = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ЗатратыНаВыпускПродукции"), 			Движения.ЗатратыНаВыпускПродукции, Неопределено);
				//ДвиженияЗатратыНаВыпускНаработка = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ЗатратыНаВыпускПродукцииНаработка"), 	Движения.ЗатратыНаВыпускПродукцииНаработка, Неопределено);
				//ДвиженияБракВПроизводстве        = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("БракВПроизводстве"), 					Движения.БракВПроизводстве, Неопределено);
				//ДвиженияНЗП		              	 = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("НезавершенноеПроизводство"), 			Движения.НезавершенноеПроизводство, Неопределено);
				//ДвиженияПартии			         = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ПартииТоваровНаСкладах"), 			Движения.ПартииТоваровНаСкладах, Неопределено);
				//ДвиженияПродажиСебестоимость	 = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ПродажиСебестоимость"), 				Движения.ПродажиСебестоимость, Неопределено);
				//ДвиженияБазаРаспределенияЗатрат  = ?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("БазаРаспределенияЗатрат"), 			Движения.БазаРаспределенияЗатрат, Неопределено);
				/*ЗатратыНаСтроительствоОбъектовОсновныхСредств = 
			?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("ЗатратыНаСтроительствоОбъектовОсновныхСредств"), 
			Движения.ЗатратыНаСтроительствоОбъектовОсновныхСредств, Неопределено);*/
				/*СтроительствоОбъектовОсновныхСредств = 
			?(СтруктураИмен = Неопределено ИЛИ СтруктураИмен.Свойство("СтроительствоОбъектовОсновныхСредств"), 
			Движения.СтроительствоОбъектовОсновныхСредств, Неопределено);*/
				//Операция                         = Неопределено;
			}
			if(true/*Операция <> Неопределено*/)
			{
				//Операция.Очистить();
			}
			//СтруктураДвижений.Вставить("ДокументОбъект", 					ДокументОбъект);
			//СтруктураДвижений.Вставить("ДвиженияВыпуск", 					ДвиженияВыпуск);
			//СтруктураДвижений.Вставить("ДвиженияЗатраты", 					ДвиженияЗатраты);
			//СтруктураДвижений.Вставить("ДвиженияЗатратыОбороты", 			ДвиженияЗатратыОбороты);
			//СтруктураДвижений.Вставить("ДвиженияЗатратыНаВыпуск", 			ДвиженияЗатратыНаВыпуск);
			//СтруктураДвижений.Вставить("ДвиженияЗатратыНаВыпускНаработка", 	ДвиженияЗатратыНаВыпускНаработка);
			//СтруктураДвижений.Вставить("ДвиженияБракВПроизводстве", 		ДвиженияБракВПроизводстве);
			//СтруктураДвижений.Вставить("ДвиженияНЗП", 						ДвиженияНЗП);
			//СтруктураДвижений.Вставить("ДвиженияПартии", 					ДвиженияПартии);
			//СтруктураДвижений.Вставить("ДвиженияПродажиСебестоимость", 		ДвиженияПродажиСебестоимость);
			//СтруктураДвижений.Вставить("ДвиженияБазаРаспределенияЗатрат", 	ДвиженияБазаРаспределенияЗатрат);
			//СтруктураДвижений.Вставить("ЗатратыНаСтроительствоОбъектовОсновныхСредств", ЗатратыНаСтроительствоОбъектовОсновныхСредств);
			//СтруктураДвижений.Вставить("СтроительствоОбъектовОсновныхСредств", СтроительствоОбъектовОсновныхСредств);
			//СтруктураДвижений.Вставить("Операция", 							Операция);
			return null;
		}
		// ПолучитьНаборыДвижений()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРУ БУХГАЛТЕРИИ
		// Функция проверяет заполнение счета затрат и счета дебета выпуска продукции.
		//
		// Параметры:
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//  СтрокаОбхода - ОбходРезультатаЗапроса - Текущая строка обхода результата запроса
		//	Сумма - Число - сумма затрат на выпуск продукции. Используется для формирования сообщения об ошибке.
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения счетов.
		//

		public object ПроверитьСчетЗатратИСчетДебета(/*
	ВидОтраженияВУчете,
	СтрокаОбхода, 
	Сумма
	*/)
		{
			//ПроверкаПройдена = Истина;
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//СчетДт = СтрокаОбхода.СчетДтНУ;
				//СчетЗатрат = СтрокаОбхода.СчетЗатратНУ;
			}
			if(true/*Не ЗначениеЗаполнено(СчетДт)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан счет дебета выпуска продукции (услуг):
		|Организация: " + СтрокаОбхода.Организация + "
		|Подразделение: " + СтрокаОбхода.Подразделение + "
		|Номенклатурная группа: " + СтрокаОбхода.НоменклатурнаяГруппа + "
		|Продукция: " + СтрокаОбхода.Продукция + ", " + 
			СтрокаОбхода.ХарактеристикаПродукции + ", " + 
			СтрокаОбхода.СерияПродукции + "
		|Заказ: " + СтрокаОбхода.Заказ + "
		|Спецификация: " + СтрокаОбхода.Спецификация + "
		|Код операции: " + СтрокаОбхода.КодОперации + "
		|Проводка по выпуску продукции (услуг) на сумму: " + Сумма + " не сформирована!
		|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			if(true/*Не ЗначениеЗаполнено(СчетЗатрат)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан счет затрат выпуска продукции (услуг):
		|Организация: " + СтрокаОбхода.Организация + "
		|Подразделение: " + СтрокаОбхода.Подразделение + "
		|Номенклатурная группа: " + СтрокаОбхода.НоменклатурнаяГруппа + "
		|Продукция: " + СтрокаОбхода.Продукция + ", " + 
			СтрокаОбхода.ХарактеристикаПродукции + ", " + 
			СтрокаОбхода.СерияПродукции + "
		|Заказ: " + СтрокаОбхода.Заказ + "
		|Спецификация: " + СтрокаОбхода.Спецификация + "
		|Код операции: " + СтрокаОбхода.КодОперации + "
		|Проводка по выпуску продукции (услуг) на сумму: " + Сумма + " не сформирована!
		|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			return null;
		}
		// ПроверитьСчетЗатратИСчетДебета()
		// Функция формирует содержание проводки по коду операции.
		//
		// Параметры
		//  КодОперацииВыпускПродукции - Перечисления.КодыОперацийВыпускПродукции - Код операции выпуска
		//	СоответствиеКодОперацииСодержание - Соответствие - Соответствие кода операции выпуска и содержания проводки.
		//
		// Возвращаемое значение:
		//   Строка – текст содержания проводки.
		//

		public object ПолучитьСодержаниеПроводкиПоКодуОперации(/*КодОперацииВыпускПродукции, СоответствиеКодОперацииСодержание*/)
		{
			/*// Если соответствие не заполнено, произведем инициализацию.
*/
			if(true/*СоответствиеКодОперацииСодержание = Неопределено*/)
			{
				//СоответствиеКодОперацииСодержание = Новый Соответствие;
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад,
			"Выпуск продукции на склад");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты,
			"Оказание услуг собственным подразделениям");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство,
			"Оказание услуг собственным подразделениям");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнешниеУслуги,
			"Оказание услуг сторонним организациям");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаСчет,
			"Списание выпущенной продукции на расходы производства");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч,
			"Списание материалов в производство сторно");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс,
			"Оприходование возвратных отходов");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч,
			"Распределение производственных расходов");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс,
			"Распределение производственных расходов");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП,
			"Списание НЗП");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс,
			"Списание НЗП");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП,
			"Излишки НПЗ, выявленные в результате инвентаризации");*/
				/*СоответствиеКодОперацииСодержание.Вставить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости,
			"Оприходованы возвратные отходы");*/
			}
			//Содержание = СоответствиеКодОперацииСодержание.Получить(КодОперацииВыпускПродукции);
			if(true/*Содержание = Неопределено*/)
			{
				//Содержание = "";
				/*ОбщегоНазначения.СообщитьОбОшибке("Не определено содержание проводки для кода операции: """ + КодОперацииВыпускПродукции + """.
					|Процедура <ПолучитьСодержаниеПроводкиПоКодуОперации>");*/
			}
			return null;
		}
		// ПолучитьСодержаниеПроводкиПоКодуОперации()
		// Функция формирует содержание проводки по характеру затрат.
		//
		// Параметры
		//  ХарактерЗатрат - Перечисления.ХарактерыЗатрат - Характер затрат
		//
		// Возвращаемое значение:
		//   Строка – текст содержания проводки.
		//

		public object ПолучитьСодержаниеПроводкиПоХарактеруЗатрат(/*ХарактерЗатрат*/)
		{
			//СодержаниеПроводки = "";
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//СодержаниеПроводки = "Распределение общехозяйственных расходов";
			}
			return null;
		}
		// Процедура формирует проводку по списанию производственных затрат на счет 40 "Выпуск продукции".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  Сумма - Число - Сумма проводки
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоСписаниюЗатратНа40Счет(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	СтрокаВыборки,
	Сумма,
	ВидУчетаПоПБУ18,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//СчетЗатрат = СтрокаВыборки.СчетЗатратНУ;
			}
			/*// Проводка не формируется для операций оприходования, списания и корректировки НЗП.
*/
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч 
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП*/)
			{
			}
			//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
			//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
			//НоваяПроводка.Активность = Истина;
			//НоваяПроводка.Период = СтруктураШапкиДокумента.Период;
			//НоваяПроводка.Содержание = "Расчет фактической себестоимости";
			//НоваяПроводка.Сумма = Сумма;
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//СчетДт = ПланыСчетов.Хозрасчетный.ВыпускПродукции;
			}
			//НоваяПроводка.СчетДт = СчетДт;
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "ВидыСтоимости", Перечисления.ВидыСтоимости.Фактическая);
			//НоваяПроводка.СчетКт = СчетЗатрат;
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
	 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
			{
				//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
				//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуПоСписаниюЗатратНа40Счет()
		// Процедура формирует проводку по выпуску продукции.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости".
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - характер затрат, по которому отражается списание продукции на расходы.
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка.
		//  Сумма - Число - Сумма проводки.
		//	СоответствиеКодОперацииСодержание - Соответствие - Соответствие кода операции выпуска и содержания проводки.
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоВыпускуПродукции(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	СтрокаВыборки,
	ХарактерЗатрат,
	ВидУчетаПоПБУ18,
	Сумма,
	СоответствиеКодОперацииСодержание,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//СчетДт = СтрокаВыборки.СчетДтНУ;
				//СчетЗатрат = СтрокаВыборки.СчетЗатратНУ;
			}
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнешниеУслуги
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаСчет*/)
			{
				if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад*/)
				{
					//Содержание = ПолучитьСодержаниеПроводкиПоКодуОперации(СтрокаВыборки.КодОперации, СоответствиеКодОперацииСодержание);
				}
				//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
				//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяПроводка.Активность = Истина;
				//НоваяПроводка.Период = СтруктураШапкиДокумента.Период;
				//НоваяПроводка.Содержание = Содержание;
				//НоваяПроводка.Сумма = Сумма;
				//НоваяПроводка.СчетДт = СчетДт;
				if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад*/)
				{
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Номенклатура", СтрокаВыборки.Продукция);
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Склады", СтрокаВыборки.СкладПолучатель);
				}
				if(true/*СтруктураШапкиДокумента.ВариантУчетаВыпускаГотовойПродукции = Перечисления.ВариантыУчетаВыпускаГотовойПродукции.СИспользованиемСчета40*/)
				{
					if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
					{
						//СчетКт = ПланыСчетов.Хозрасчетный.ВыпускПродукции;
					}
				}
				//НоваяПроводка.СчетКт = СчетКт;
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
				if(true/*СтруктураШапкиДокумента.ВариантУчетаВыпускаГотовойПродукции = Перечисления.ВариантыУчетаВыпускаГотовойПродукции.СИспользованиемСчета40*/)
				{
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "ВидыСтоимости", Перечисления.ВидыСтоимости.Отклонение);
				}
				if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
		 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
				{
					//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
					//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
				}
				/*// Формирование проводки для операций корректировки и списания незавершенного производства.	
*/
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуПоВыпускуПродукции()
		// Процедура формирует движения по регистру бухгалтерии.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СуммаЗатрат - Число - Полная сумма затрат на выпуск продукции
		//  СуммаКорректировки - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца
		//  СуммаЗатратПостояннаяРазница - Число - Полная сумма затрат на выпуск продукции в части постоянной разницы
		//  СуммаКорректировкиПостояннаяРазница - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца,
		//		в части постоянной разницы
		//  СуммаЗатратВременнаяРазница - Число - Полная сумма затрат на выпуск продукции в части временной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца,
		//		в части временной разницы
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - характер затрат, по которому отражается списание продукции на расходы
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//	СоответствиеКодОперацииСодержание - Соответствие - Соответствие кода операции выпуска и содержания проводки
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииВыпускПродукции(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	СтрокаВыборки,
	СуммаЗатрат,
	СуммаКорректировки,
	СуммаЗатратПостояннаяРазница,
	СуммаКорректировкиПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СуммаКорректировкиВременнаяРазница,
	ХарактерЗатрат,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска,
	СоответствиеКодОперацииСодержание,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*СуммаЗатрат = 0
	   И СуммаКорректировки = 0
	   И СуммаЗатратПостояннаяРазница = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаЗатратВременнаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			/*// При УСН формировать проводки по налоговому учету не требуется
*/
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете 
		И (СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСНДоходы)*/)
			{
			}
			/*// Проверим заполнение счета дебета и счета затрат.
*/
			/*ПроверкаПройдена = ПроверитьСчетЗатратИСчетДебета(
		ВидОтраженияВУчете,
		СтрокаВыборки, 
		СуммаКорректировки
	);*/
			if(true/*Не ПроверкаПройдена*/)
			{
			}
			if(true/*КосвенныеЗатраты ИЛИ ЗатратыВстречногоВыпуска*/)
			{
				//СуммаСписанияНа40счет = СуммаКорректировки;
				//ПостояннаяРазницаСписанияНа40счет = СуммаКорректировкиПостояннаяРазница;
				//ВременнаяРазницаСписанияНа40счет = СуммаКорректировкиВременнаяРазница;
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				/*// Сформируем проводку по списанию затрат на 40 счет.
*/
				/*// Проводка не формируется для операций оприходования, списания и корректировки НЗП.
*/
				if(true/*СтруктураШапкиДокумента.ВариантУчетаВыпускаГотовойПродукции 
			= Перечисления.ВариантыУчетаВыпускаГотовойПродукции.СИспользованиемСчета40*/)
				{
					/*// ВидУчетаПоПБУ18
*/
					/*РегистрБухгалтерииНаборЗаписей
			);*/
				}
				/*// ВидУчетаПоПБУ18
*/
				/*СуммаКорректировки,
			СоответствиеКодОперацииСодержание,
			РегистрБухгалтерииНаборЗаписей
		);*/
			}
		}
		// СформироватьДвиженияПоРегиструБухгалтерииВыпускПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ЗАКРЫТИЯ СЧЕТОВ КОСВЕННЫХ РАСХОДОВ ПО НАЛОГОВОМУ УЧЕТУ
		// Процедура формирует проводку по закрытию счетов косвенных расходов.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	СчетУчета - ПланСчетовСсылка.Налоговый - Счет учета затрат
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//  Сумма - Число - Сумма проводки
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоЗакрытиюСчетовКосвенныхРасходов(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СчетУчета,
	ВидУчетаПоПБУ18,
	Сумма,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
			//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
			//НоваяПроводка.Активность = Истина;
			//НоваяПроводка.Период = СтруктураШапкиДокумента.Период;
			//НоваяПроводка.Содержание = "Закрытие счетов косвенных расходов";
			//НоваяПроводка.Сумма = Сумма;
			if(true/*СтрокаВыборки.СчетУчета.ПринадлежитЭлементу(ПланыСчетов.Налоговый.РасходыНаПродажу) 
	 ИЛИ СтрокаВыборки.СчетУчета = ПланыСчетов.Налоговый.РасходыНаПродажу*/)
			{
				//СчетДт = ПланыСчетов.Налоговый.Продажи_РасходыНаПродажу;
			}
			//НоваяПроводка.СчетДт = СчетДт;
			//НоваяПроводка.СчетКт = СчетУчета;
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "Подразделения")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "НоменклатурныеГруппы")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			}
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "СтатьиЗатрат", СтрокаВыборки.СтатьяЗатрат);
			if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
	 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
			{
				//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
				//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуПоЗакрытиюСчетовКосвенныхРасходов()
		// Процедура формирует движения по регистру бухгалтерии.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	СчетУчета - ПланСчетовСсылка.Налоговый - Счет учета затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииЗакрытиеКосвенныхРасходов(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СчетУчета,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			/*// Закрытие косвенных расходов в части НУ.
*/
			/*СформироватьПроводкуПоЗакрытиюСчетовКосвенныхРасходов(
		СтруктураШапкиДокумента,
		СтрокаВыборки,
		СчетУчета,
		Перечисления.ВидыУчетаПоПБУ18.НУ,
		Сумма,
		РегистрБухгалтерииНаборЗаписей
	);*/
			if(true/*Не СтруктураШапкиДокумента.ПоддержкаПБУ18*/)
			{
			}
			/*// Закрытие косвенных расходов в части постоянной разницы.
*/
			/*СформироватьПроводкуПоЗакрытиюСчетовКосвенныхРасходов(
		СтруктураШапкиДокумента,
		СтрокаВыборки,
		СчетУчета,
		Перечисления.ВидыУчетаПоПБУ18.ПР,
		ПостояннаяРазница,
		РегистрБухгалтерииНаборЗаписей
	);*/
			/*// Закрытие косвенных расходов в части временной разницы.
*/
			/*СформироватьПроводкуПоЗакрытиюСчетовКосвенныхРасходов(
		СтруктураШапкиДокумента,
		СтрокаВыборки,
		СчетУчета,
		Перечисления.ВидыУчетаПоПБУ18.ВР,
		ВременнаяРазница,
		РегистрБухгалтерииНаборЗаписей
	);*/
		}
		// СформироватьДвиженияПоРегиструБухгалтерииЗакрытиеКосвенныхРасходов
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА ОТНЕСЕНИЯ НЕРАСПРЕДЕЛЕННЫХ ЗАТРАТ НА РАСХОДЫ БУДУЩИХ ПЕРИОДОВ
		// Функция создает новый элемент справочника "Расходы будущих периодов".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  Сумма - Число - Сумма затрат
		//
		// Возвращаемое значение:
		//	СправочникСсылка.РасходыБудущихПериодов - Элемент расходов будущих периодов
		//

		public object СоздатьЭлементРасходовБудущихПериодов(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ХарактерЗатрат,
	Сумма
	*/)
		{
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//НаименованиеРБП = "ОХР";
			}
			/*НаименованиеРБП = НаименованиеРБП + " за " + 
		ПредставлениеПериода(СтруктураШапкиДокумента.мНачДата, СтруктураШапкиДокумента.мКонДата);*/
			//ДатаНачалаСписания = НачалоДня(ДобавитьМесяц(СтруктураШапкиДокумента.мНачДата, 1));
			//ДатаОкончанияСписания = НачалоДня(ДобавитьМесяц(СтруктураШапкиДокумента.мКонДата, 1));
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	РасходыБудущихПериодов.Ссылка
	|ИЗ
	|	Справочник.РасходыБудущихПериодов КАК РасходыБудущихПериодов
	|
	|ГДЕ
	|	РасходыБудущихПериодов.ПодразделениеОрганизации = &ПодразделениеОрганизации
	|	И РасходыБудущихПериодов.НоменклатурнаяГруппа = &НоменклатурнаяГруппа
	|	И РасходыБудущихПериодов.ДатаНачалаСписания = &ДатаНачалаСписания
	|	И РасходыБудущихПериодов.ДатаОкончанияСписания = &ДатаОкончанияСписания
	|	И РасходыБудущихПериодов.СтатьяЗатрат = &СтатьяЗатрат
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ПодразделениеОрганизации", СтрокаВыборки.Подразделение);
			//Запрос.УстановитьПараметр("НоменклатурнаяГруппа", СтрокаВыборки.НоменклатурнаяГруппа);
			//Запрос.УстановитьПараметр("СтатьяЗатрат", СтрокаВыборки.СтатьяЗатрат);
			//Запрос.УстановитьПараметр("ДатаНачалаСписания", ДатаНачалаСписания);
			//Запрос.УстановитьПараметр("ДатаОкончанияСписания", ДатаОкончанияСписания);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//СправочникОбъектРБП = Справочники.РасходыБудущихПериодов.СоздатьЭлемент();
				//СправочникОбъектРБП.Наименование = НаименованиеРБП;
				//СправочникОбъектРБП.НоменклатурнаяГруппа = СтрокаВыборки.НоменклатурнаяГруппа;
				//СправочникОбъектРБП.ПодразделениеОрганизации = СтрокаВыборки.Подразделение;
				//СправочникОбъектРБП.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатрат;
				//СправочникОбъектРБП.ДатаНачалаСписания = ДатаНачалаСписания;
				//СправочникОбъектРБП.ДатаОкончанияСписания = ДатаОкончанияСписания;
			}
			//СправочникОбъектРБП.ВидРБП = Перечисления.ВидыРБП.Прочие;
			//СправочникОбъектРБП.СчетБУ = СтрокаВыборки.СчетУчета;
			//СправочникОбъектРБП.СчетНУ = БухгалтерскийУчет.ПреобразоватьСчетаБУвСчетНУ(Новый Структура("СчетБУ, ", СтрокаВыборки.СчетУчета));
			//СправочникОбъектРБП.Сумма = Сумма;
			//СправочникОбъектРБП.Записать();
			return null;
		}
		// СоздатьЭлементРасходовБудущихПериодов()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО СПОСОБАМ РАСПРЕДЕЛЕНИЯ И ОТБОРА РЕЗУЛЬТАТА ЗАПРОСА
		// Процедура формирует временную таблицу "СпособыРаспределения".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуСпособыРаспределенияРасширеннаяАналитика(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	УчетЗатратОстатки.АналитикаВидаУчета 	КАК АналитикаВидаУчета,
	|	УчетЗатратОстатки.АналитикаУчетаЗатрат 	КАК АналитикаУчетаЗатрат
	|ПОМЕСТИТЬ ТаблицаИспользуемыхКлючей
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.Остатки(&НачГраница, ) КАК УчетЗатратОстатки
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|ГДЕ
	|	УчетЗатрат.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
	|	И УчетЗатрат.Активность
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|ГДЕ
	|	УчетЗатрат.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
	|	И УчетЗатрат.Активность
	|	И УчетЗатрат.КорАналитикаВидаУчета ССЫЛКА Справочник.КлючиАналитикиВидаУчета
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ТаблицаИспользуемыхКлючей.АналитикаВидаУчета	               КАК АналитикаВидаУчета,
	|	ТаблицаИспользуемыхКлючей.АналитикаУчетаЗатрат                 КАК АналитикаУчетаЗатрат,
	|	//ДляУпрУчета КлючАналитикаВидаУчета.Подразделение             КАК Подразделение,
	|	//ДляРеглУчета КлючАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	//ДляРеглУчета КлючАналитикаВидаУчета.СчетУчета                КАК СчетУчета,
	|	КлючАналитикаУчетаЗатрат.СтатьяЗатрат                          КАК СтатьяЗатрат
	|ПОМЕСТИТЬ ТаблицаПодходящихКлючей
	|
	|ИЗ
	|	ТаблицаИспользуемыхКлючей КАК ТаблицаИспользуемыхКлючей
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК КлючАналитикаВидаУчета
	|	ПО
	|		ТаблицаИспользуемыхКлючей.АналитикаВидаУчета 		= КлючАналитикаВидаУчета.Ссылка
	|		И КлючАналитикаВидаУчета.РазделУчета 				= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты)
	|		//ДляУпрУчета И КлючАналитикаВидаУчета.СчетУчета 	= ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
	|		//ДляРеглУчета И КлючАналитикаВидаУчета.Организация = &Организация
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаЗатрат КАК КлючАналитикаУчетаЗатрат
	|	ПО
	|		ТаблицаИспользуемыхКлючей.АналитикаУчетаЗатрат 		= КлючАналитикаУчетаЗатрат.Ссылка
	|		И КлючАналитикаУчетаЗатрат.СтатьяЗатрат 			<> ЗНАЧЕНИЕ(Справочник.СтатьиЗатрат.ПустаяСсылка)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СтатьяЗатрат,
	|	Подразделение
	|	//ДляРеглУчета ,СчетУчета
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ ТаблицаИспользуемыхКлючей
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	СпособыРаспределения.СтатьяЗатрат 															КАК СтатьяЗатрат,
	|	СпособыРаспределения.Подразделение 															КАК Подразделение,
	|	//ДляРеглУчета СпособыРаспределения.СчетЗатрат 												КАК СчетЗатрат,
	|	ЕСТЬNULL(
	|		СпособыРаспределения.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения,
	|		ЛОЖЬ) 																					КАК РаспределятьНаПодчиненныеПодразделения,
	|	СпособыРаспределения.ХарактерРаспределенияЗатрат 											КАК ХарактерРаспределенияЗатрат,
	|	СпособыРаспределения.СпособРаспределенияЗатрат 												КАК СпособРаспределенияЗатрат,
	|	СпособыРаспределения.НеРаспределять 														КАК НеРаспределять,
	|	СпособыРаспределения.Период 																КАК Период
	|ПОМЕСТИТЬ СпособыРаспределенияСрезПоследних
	|
	|ИЗ
	|	РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(&КонГраница, 
	|		//ДляРеглУчета Организация = &Организация 
	|	) КАК СпособыРаспределения
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СтатьяЗатрат,
	|	Подразделение
	|	//ДляРеглУчета ,СчетЗатрат
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ТаблицаПодходящихКлючей.АналитикаВидаУчета 													КАК АналитикаВидаУчета,
	|	ТаблицаПодходящихКлючей.АналитикаУчетаЗатрат 												КАК АналитикаУчетаЗатрат,
	|
	|	СпособыРаспределения.СтатьяЗатрат 															КАК СтатьяЗатрат,
	|	ЕСТЬNULL(ТаблицаПодходящихКлючей.Подразделение, СпособыРаспределения.Подразделение) 		КАК Подразделение,
	|	//ДляРеглУчета ЕСТЬNULL(ТаблицаПодходящихКлючей.СчетУчета, СпособыРаспределения.СчетЗатрат) КАК СчетЗатрат,
	|	
	|	СпособыРаспределения.РаспределятьНаПодчиненныеПодразделения 								КАК РаспределятьНаПодчиненныеПодразделения,
	|	
	|	ВЫБОР
	|		КОГДА ТаблицаПодходящихКлючей.Подразделение <> СпособыРаспределения.Подразделение
	|			//ДляУпрУчета И СпособыРаспределения.Подразделение <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета И СпособыРаспределения.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ 																						КАК ЭтоСпособРаспределенияРодителя,
	|		
	|	СпособыРаспределения.ХарактерРаспределенияЗатрат 											КАК ХарактерРаспределенияЗатрат,
	|	СпособыРаспределения.СпособРаспределенияЗатрат 												КАК СпособРаспределенияЗатрат,
	|	СпособыРаспределения.НеРаспределять 														КАК НеРаспределять,
	|	СпособыРаспределения.Период 																КАК Период
	|ПОМЕСТИТЬ СпособыРаспределения%СуффиксУчета%
	|
	|ИЗ
	|	СпособыРаспределенияСрезПоследних КАК СпособыРаспределения
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		ТаблицаПодходящихКлючей КАК ТаблицаПодходящихКлючей
	|	ПО
	|		СпособыРаспределения.СтатьяЗатрат = ТаблицаПодходящихКлючей.СтатьяЗатрат
	|		И (
	|			(
	|			//ДляУпрУчета СпособыРаспределения.Подразделение = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета СпособыРаспределения.Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			ИЛИ СпособыРаспределения.Подразделение = ТаблицаПодходящихКлючей.Подразделение
	|			ИЛИ СпособыРаспределения.РаспределятьНаПодчиненныеПодразделения
	|			И 
	|				(СпособыРаспределения.Подразделение 	 = ТаблицаПодходящихКлючей.Подразделение.Родитель
	|				  ИЛИ СпособыРаспределения.Подразделение = ТаблицаПодходящихКлючей.Подразделение.Родитель.Родитель
	|				  ИЛИ СпособыРаспределения.Подразделение = ТаблицаПодходящихКлючей.Подразделение.Родитель.Родитель.Родитель)
	|			)
	|		//ДляРеглУчета 	И (СпособыРаспределения.СчетЗатрат 		= ТаблицаПодходящихКлючей.СчетУчета
	|		//ДляРеглУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ТаблицаПодходящихКлючей.СчетУчета.Родитель
	|		//ДляРеглУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ТаблицаПодходящихКлючей.СчетУчета.Родитель.Родитель
	|		//ДляРеглУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ТаблицаПодходящихКлючей.СчетУчета.Родитель.Родитель.Родитель)
	|		  )
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ ТаблицаПодходящихКлючей
	|;
	|/////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ СпособыРаспределенияСрезПоследних";*/
			//ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(ТекстЗапросаСКомментариями, ВидОтраженияВУчете);
			//Запрос = Новый Запрос;
			//Запрос.Текст 					= ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц 	= МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("НачГраница", 	СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", 	СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("ДатаНачала", 	СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("ДатаОкончания", 	СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", 	СтруктураШапкиДокумента.Организация);
			//Запрос.Выполнить();
		}
		// СформироватьВременнуюТаблицуСпособыРаспределенияРасширеннаяАналитика()
		// Процедура формирует временную таблицу "СпособыРаспределения".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуСпособыРаспределения(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	СпособыРаспределения.СтатьяЗатрат,
	|	ЕСТЬNULL(Подразделения.Подразделение, СпособыРаспределения.Подразделение) КАК Подразделение,
	|	//ДляБухУчета ЕСТЬNULL(ПланСчетов.Счет, СпособыРаспределения.СчетЗатрат) КАК СчетЗатрат,
	|	//ДляНалУчета ЕСТЬNULL(ПланСчетов.Счет, СпособыРаспределения.СчетЗатратНУ) КАК СчетЗатрат,
	|	//ДляМеждУчета ЕСТЬNULL(ПланСчетов.Счет, СпособыРаспределения.СчетЗатрат) КАК СчетЗатрат,
	|	ЕСТЬNULL(
	|		СпособыРаспределения.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения,
	|		Ложь
	|		) КАК РаспределятьНаПодчиненныеПодразделения,
	|	
	|	ВЫБОР КОГДА Подразделения.Подразделение <> СпособыРаспределения.Подразделение
	|		И СпособыРаспределения.Подразделение <>
	|			//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|	ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ КАК ЭтоСпособРаспределенияРодителя,
	|		
	|	СпособыРаспределения.ХарактерРаспределенияЗатрат,
	|	СпособыРаспределения.СпособРаспределенияЗатрат,
	|	СпособыРаспределения.НеРаспределять,
	|	СпособыРаспределения.Период
	|	
	|ПОМЕСТИТЬ СпособыРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(&КонГраница, 
	|		//ДляРеглУчета Организация = &Организация 
	|	) КАК СпособыРаспределения
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			Подразделения.Родитель КАК Родитель,
	|			Подразделения.Ссылка КАК Подразделение
	|		ИЗ
	|			//ДляУпрУчета 	Справочник.Подразделения КАК Подразделения
	|			//ДляРеглУчета 	Справочник.ПодразделенияОрганизаций КАК Подразделения
	|		
	|		//ДляРеглУчета 	ГДЕ
	|		//ДляРеглУчета 		Подразделения.Владелец = &Организация
	|		) КАК Подразделения
	|	ПО
	|		СпособыРаспределения.Подразделение = 
	|			//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|		ИЛИ (СпособыРаспределения.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
	|			И 
	|			(СпособыРаспределения.Подразделение = Подразделения.Подразделение
	|			ИЛИ СпособыРаспределения.Подразделение = Подразделения.Родитель
	|			ИЛИ СпособыРаспределения.Подразделение = Подразделения.Родитель.Родитель
	|			ИЛИ СпособыРаспределения.Подразделение = Подразделения.Родитель.Родитель.Родитель)
	|			)
	|			
	|	//ДляРеглУчета 	ЛЕВОЕ СОЕДИНЕНИЕ (
	|	//ДляРеглУчета 		ВЫБРАТЬ
	|	//ДляРеглУчета 			ПланСчетов.Ссылка КАК Счет
	|	//ДляРеглУчета 		ИЗ
	|	//ДляРеглУчета 			ПланСчетов.%ИмяПланаСчетов% КАК ПланСчетов
	|	//ДляРеглУчета 		ГДЕ
	|	//ДляРеглУчета 			ПланСчетов.Ссылка В ИЕРАРХИИ (&МассивСчетовЗатрат)
	|	//ДляРеглУчета 		) КАК ПланСчетов
	|	//ДляРеглУчета 	ПО
	|		//ДляБухУчета 	СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет
	|		//ДляБухУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель
	|		//ДляБухУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель.Родитель
	|		//ДляБухУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель.Родитель.Родитель
	|		
	|		//ДляНалУчета 	СпособыРаспределения.СчетЗатратНУ = ПланСчетов.Счет
	|		//ДляНалУчета 		ИЛИ СпособыРаспределения.СчетЗатратНУ = ПланСчетов.Счет.Родитель
	|		//ДляНалУчета 		ИЛИ СпособыРаспределения.СчетЗатратНУ = ПланСчетов.Счет.Родитель.Родитель
	|		//ДляНалУчета 		ИЛИ СпособыРаспределения.СчетЗатратНУ = ПланСчетов.Счет.Родитель.Родитель.Родитель
	|		
	|		//ДляМеждУчета 	СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет
	|		//ДляМеждУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель
	|		//ДляМеждУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель.Родитель
	|		//ДляМеждУчета 		ИЛИ СпособыРаспределения.СчетЗатрат = ПланСчетов.Счет.Родитель.Родитель.Родитель
    |";*/
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//МассивСчетовЗатрат = Новый Массив;
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.БракВПроизводстве);
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство_);
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
				//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбслуживающиеПроизводства);
				//Запрос.УстановитьПараметр("МассивСчетовЗатрат", МассивСчетовЗатрат);
			}
			//Запрос.Выполнить();
		}
		// СформироватьВременнуюТаблицуСпособыРаспределения()
		// Функция формирует текст запроса по регистру сведений "Способы распределения статей затрат".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоСпособамРаспределенияЗатратРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	СпособыРаспределения.СтатьяЗатрат,
	|	СпособыРаспределения.Подразделение,
	|	//ДляРеглУчета СпособыРаспределения.СчетЗатрат,
	|	
	|	СпособыРаспределения.АналитикаВидаУчета,
	|	СпособыРаспределения.АналитикаУчетаЗатрат,
	|	
	|	СпособыРаспределения.ХарактерРаспределенияЗатрат,
	|	СпособыРаспределения.СпособРаспределенияЗатрат КАК СпособРаспределения,
	|	СпособыРаспределения.РаспределятьНаПодчиненныеПодразделения,
	|	
	|	СпособыРаспределения.ЭтоСпособРаспределенияРодителя,
	|	
	|	//ДляРеглУчета	ВЫБОР КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщехозяйственныеРасходы)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ОбщехозяйственныеРасходы)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ОбщепроизводственныеРасходы)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ОбщехозяйственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ ( 
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.ОбщепроизводственныеРасходы)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ОбщепроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.БракВПроизводстве)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.БракВПроизводстве)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство_)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ОсновноеПроизводство_)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ОсновноеПроизводство)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ПроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВспомогательныеПроизводства)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ВспомогательныеПроизводства)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ВспомогательноеПроизводство)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ПроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.ОбслуживающиеПроизводства)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета 		СпособыРаспределения.СтатьяЗатрат.ХарактерЗатрат
	|	//ДляРеглУчета 	КОНЕЦ КАК ХарактерЗатрат,
	|	
	|	СпособыРаспределения.НеРаспределять
	|	
	|//Поместить ПОМЕСТИТЬ РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|ИЗ 
	|	СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособыРаспределения.АналитикаВидаУчета,
	|			СпособыРаспределения.АналитикаУчетаЗатрат,
	|			СпособыРаспределения.ЭтоСпособРаспределенияРодителя,
	|			МАКСИМУМ(СпособыРаспределения.Период) КАК Период
	|		ИЗ 
	|			СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|	
	|		СГРУППИРОВАТЬ ПО
	|			СпособыРаспределения.АналитикаВидаУчета,
	|			СпособыРаспределения.АналитикаУчетаЗатрат,
	|			СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|			
	|		) КАК СпособыРаспределенияПоПериодам
	|	ПО
	|		СпособыРаспределения.АналитикаВидаУчета = СпособыРаспределенияПоПериодам.АналитикаВидаУчета
	|		И СпособыРаспределения.АналитикаУчетаЗатрат = СпособыРаспределенияПоПериодам.АналитикаУчетаЗатрат
	|		И СпособыРаспределения.ЭтоСпособРаспределенияРодителя = СпособыРаспределенияПоПериодам.ЭтоСпособРаспределенияРодителя	
	|		И СпособыРаспределения.Период = СпособыРаспределенияПоПериодам.Период
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособыРаспределения.АналитикаВидаУчета,
	|			СпособыРаспределения.АналитикаУчетаЗатрат
	|		ИЗ 
	|			СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|		ГДЕ
	|			Не СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|
	|		) КАК УказанныеСпособыРаспределения
	|	ПО
	|		СпособыРаспределения.АналитикаВидаУчета = УказанныеСпособыРаспределения.АналитикаВидаУчета
	|		И СпособыРаспределения.АналитикаУчетаЗатрат = УказанныеСпособыРаспределения.АналитикаУчетаЗатрат
	|		И СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|
	|ГДЕ	
	|	УказанныеСпособыРаспределения.АналитикаУчетаЗатрат ЕСТЬ NULL
	|	И СпособыРаспределения.ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
    |
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСпособамРаспределенияЗатратРасширеннаяАналитика()
		// Функция формирует текст запроса по регистру сведений "Способы распределения статей затрат".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоСпособамРаспределенияЗатрат(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	СпособыРаспределения.СтатьяЗатрат,
	|	СпособыРаспределения.Подразделение,
	|	//ДляРеглУчета СпособыРаспределения.СчетЗатрат,
	|	
	|	СпособыРаспределения.ХарактерРаспределенияЗатрат,
	|	СпособыРаспределения.СпособРаспределенияЗатрат КАК СпособРаспределения,
	|	СпособыРаспределения.РаспределятьНаПодчиненныеПодразделения,
	|	
	|	СпособыРаспределения.ЭтоСпособРаспределенияРодителя,
	|	
	|	//ДляРеглУчета	ВЫБОР КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОбщехозяйственныеРасходы)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ОбщехозяйственныеРасходы)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ОбщепроизводственныеРасходы)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ОбщехозяйственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ ( 
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.ОбщепроизводственныеРасходы)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ОбщепроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.БракВПроизводстве)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.БракВПроизводстве)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство_)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ОсновноеПроизводство_)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ОсновноеПроизводство)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ПроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляБухУчета		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВспомогательныеПроизводства)
	|	//ДляНалУчета		ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ВспомогательныеПроизводства)
	|	//ДляМеждУчета		ЗНАЧЕНИЕ(ПланСчетов.Международный.ВспомогательноеПроизводство)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ПроизводственныеРасходы)
	|	
	|	//ДляРеглУчета 	КОГДА СпособыРаспределения.СчетЗатрат В ИЕРАРХИИ (
	|	//ДляРеглУчета		ЗНАЧЕНИЕ(ПланСчетов.%ИмяПланаСчетов%.ОбслуживающиеПроизводства)
	|	//ДляРеглУчета	) ТОГДА
	|	//ДляРеглУчета 		СпособыРаспределения.СтатьяЗатрат.ХарактерЗатрат
	|	//ДляРеглУчета 	КОНЕЦ КАК ХарактерЗатрат,
	|	
	|	СпособыРаспределения.НеРаспределять
	|	
	|//Поместить ПОМЕСТИТЬ РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|ИЗ 
	|	СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			//ДляРеглУчета СпособыРаспределения.СчетЗатрат,
	|			СпособыРаспределения.СтатьяЗатрат,
	|			СпособыРаспределения.Подразделение,
	|			СпособыРаспределения.ЭтоСпособРаспределенияРодителя,
	|			МАКСИМУМ(СпособыРаспределения.Период) КАК Период
	|		ИЗ 
	|			СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|	
	|		СГРУППИРОВАТЬ ПО
	|			//ДляРеглУчета СпособыРаспределения.СчетЗатрат,
	|			СпособыРаспределения.Подразделение,
	|			СпособыРаспределения.СтатьяЗатрат,
	|			СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|			
	|		) КАК СпособыРаспределенияПоПериодам
	|	ПО
	|		СпособыРаспределения.СтатьяЗатрат = СпособыРаспределенияПоПериодам.СтатьяЗатрат
	|		И СпособыРаспределения.Подразделение = СпособыРаспределенияПоПериодам.Подразделение
	|		//ДляРеглУчета И СпособыРаспределения.СчетЗатрат = СпособыРаспределенияПоПериодам.СчетЗатрат
	|		И СпособыРаспределения.Период = СпособыРаспределенияПоПериодам.Период
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			//ДляРеглУчета СпособыРаспределения.СчетЗатрат,
	|			СпособыРаспределения.СтатьяЗатрат,
	|			СпособыРаспределения.Подразделение
	|		ИЗ 
	|			СпособыРаспределения%СуффиксУчета% КАК СпособыРаспределения
	|		ГДЕ
	|			Не СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|
	|		) КАК УказанныеСпособыРаспределения
	|	ПО
	|		СпособыРаспределения.СтатьяЗатрат = УказанныеСпособыРаспределения.СтатьяЗатрат
	|		И СпособыРаспределения.Подразделение = УказанныеСпособыРаспределения.Подразделение
	|		И СпособыРаспределения.ЭтоСпособРаспределенияРодителя
	|		//ДляРеглУчета И СпособыРаспределения.СчетЗатрат = УказанныеСпособыРаспределения.СчетЗатрат
	|
	|ГДЕ	
	|	УказанныеСпособыРаспределения.СтатьяЗатрат ЕСТЬ NULL
	|	И СпособыРаспределения.ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСпособамРаспределенияЗатрат()
		// Функция формирует запрос по регистру сведений "Способы распределения статей затрат".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	МассивХарактеровРаспределения - Массив - Массив допустимых характеров распределения затрат
		//	ФормироватьВременнуюТаблицу - Булево - Признак формирования временной таблицы
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру "Способы распределения статей затрат".
		//

		public object СформироватьЗапросПоСпособамРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	МассивХарактеровРаспределения,
	ФормироватьВременнуюТаблицу = Ложь,
	ВидОтраженияВУчете,
	МенеджерВременныхТаблиц = Неопределено
	*/)
		{
			/*// Если в процедуру не передан менеджер временных таблиц, то создадим новый менеджер временных таблиц.
*/
			if(true/*МенеджерВременныхТаблиц = Неопределено*/)
			{
				//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			}
			/*// Сформируем временную таблицу по способам распределения.
*/
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				/*СформироватьВременнуюТаблицуСпособыРаспределенияРасширеннаяАналитика(
			СтруктураШапкиДокумента,
			ВидОтраженияВУчете,
			МенеджерВременныхТаблиц
		);*/
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоСпособамРаспределенияЗатратРасширеннаяАналитика();
			}
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		ВидОтраженияВУчете
	);*/
			if(true/*ФормироватьВременнуюТаблицу*/)
			{
				//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//Поместить", "");
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("НеУчитыватьПодразделение", Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//Запрос.УстановитьПараметр("МассивХарактеровРаспределения", МассивХарактеровРаспределения);
			return null;
		}
		// СформироватьЗапросПоСпособамРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРУ БУХГАЛТЕРИИ
		// Процедура формирует проводку по распределению затрат.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	СтатьяЗатрат - СправочникСсылка.СтатьиЗатрат - Статья затрат
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - характер затрат, по которому отражается списание продукции на расходы
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//  Сумма - Число - Сумма проводки
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоРаспределениюЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиБаза,
	СтатьяЗатрат,
	ХарактерЗатрат,
	ВидУчетаПоПБУ18,
	Сумма,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			if(true/*СтрокаВыборкиБаза.СчетУчета = СтрокаВыборки.СчетУчета
	   И СтрокаВыборкиБаза.Подразделение = СтрокаВыборки.Подразделение
	   И СтрокаВыборкиБаза.НоменклатурнаяГруппа = СтрокаВыборки.НоменклатурнаяГруппа*/)
			{
			}
			//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
			//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
			//НоваяПроводка.Активность = Истина;
			//НоваяПроводка.Период = СтруктураШапкиДокумента.Период;
			//НоваяПроводка.Содержание = ПолучитьСодержаниеПроводкиПоХарактеруЗатрат(ХарактерЗатрат);
			//НоваяПроводка.Сумма = Сумма;
			//НоваяПроводка.СчетДт = СтрокаВыборкиБаза.СчетУчета;
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "НоменклатурныеГруппы", СтрокаВыборкиБаза.НоменклатурнаяГруппа);
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Подразделения", СтрокаВыборкиБаза.Подразделение);
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "СтатьиЗатрат", СтатьяЗатрат);
			//НоваяПроводка.СчетКт = СтрокаВыборки.СчетУчета;
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "Подразделения")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "НоменклатурныеГруппы")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "СтатьиЗатрат")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "СтатьиЗатрат", СтатьяЗатрат);
			}
			if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
	 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
			{
				//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
				//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуПоРаспределениюЗатрат()
		// Функция проверяет заполнение счетов учета затрат.
		//
		// Параметры:
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	Сумма - Число - сумма затрат на выпуск продукции. Используется для формирования сообщения об ошибке.
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения счетов.
		//

		public object ПроверитьСчетаУчетаРаспределениеЗатрат(/*
	СтрокаВыборки, 
	СтрокаВыборкиБаза, 
	Сумма
	*/)
		{
			//ПроверкаПройдена = Истина;
			if(true/*Не ЗначениеЗаполнено(СтрокаВыборки.СчетУчета)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан счет учета затрат:
			|Организация: " + СтрокаВыборки.Организация + "
			|Подразделение: " + СтрокаВыборки.Подразделение + "
			|Номенклатурная группа: " + СтрокаВыборки.НоменклатурнаяГруппа + "
			|Заказ: " + СтрокаВыборки.Заказ + "
			|Проводка по списанию затрат на сумму: " + Сумма + " не сформирована!
			|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			if(true/*Не ЗначениеЗаполнено(СтрокаВыборкиБаза.СчетУчета)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан счет учета в базе распределения затрат:
			|Способ распределения: " + СтрокаВыборкиБаза.СпособРаспределения + "
			|Организация: " + СтрокаВыборкиБаза.Организация + "
			|Подразделение: " + СтрокаВыборкиБаза.Подразделение + "
			|Номенклатурная группа: " + СтрокаВыборкиБаза.НоменклатурнаяГруппа + "
			|Заказ: " + СтрокаВыборкиБаза.Заказ + "
			|Проводка по списанию затрат на сумму: " + Сумма + " не сформирована!
			|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			return null;
		}
		// ПроверитьСчетаУчетаРаспределениеЗатрат()
		// Процедура формирует движения по регистру бухгалтерии.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	СтатьяЗатрат - СправочникСсылка.СтатьиЗатрат - Статья затрат
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - характер затрат, по которому отражается списание продукции на расходы
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	СтрокаВыборки,
	СтрокаВыборкиБаза,
	СтатьяЗатрат,
	ХарактерЗатрат,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			/*// При УСН формировать проводки по налоговому учету не требуется
*/
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете 
		И (СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСНДоходы)*/)
			{
			}
			/*ПроверкаПройдена = ПроверитьСчетаУчетаРаспределениеЗатрат(
		СтрокаВыборки, 
		СтрокаВыборкиБаза, 
		Сумма
	);*/
			if(true/*ПроверкаПройдена*/)
			{
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
				{
					/*// ВидУчетаПоПБУ18
*/
					/*Сумма,
				РегистрБухгалтерииНаборЗаписей
			);*/
				}
			}
		}
		// СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРУ БУХГАЛТЕРИИ
		// Процедура формирует проводку распределения затрат по продажам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	СчетСписания - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат
		//	НоменклатурнаяГруппа - СправочникСсылка.НоменклатурныеГруппы - Номенклатурная группа
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//  Сумма - Число - Сумма проводки
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//  СтруктураСубконтоДт - Структура - Структура для заполнения аналитики на СчетДт
		//

		public void СформироватьПроводкуРаспределениеПоПродажам(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СчетСписания,
	НоменклатурнаяГруппа,
	ХарактерЗатрат,
	ВидУчетаПоПБУ18,
	Сумма,
	РегистрБухгалтерииНаборЗаписей,
	СтруктураСубконтоДт = Неопределено*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
			//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
			//НоваяПроводка.Активность = Истина;
			//НоваяПроводка.Период = СтруктураШапкиДокумента.Период;
			//НоваяПроводка.Содержание = ПолучитьСодержаниеПроводкиПоХарактеруЗатрат(ХарактерЗатрат);
			//НоваяПроводка.Сумма = Сумма;
			//НоваяПроводка.СчетДт = СчетСписания;
			//ВидыСубконтоДт = НоваяПроводка.СчетДт.ВидыСубконто;
			if(true/*ВидыСубконтоДт.Количество() > 0*/)
			{
				if(true/*ЗначениеЗаполнено(СтруктураСубконтоДт)
			И ВидыСубконтоДт[0].ВидСубконто.ТипЗначения.СодержитТип(ТипЗнч(СтруктураСубконтоДт.Субконто1))*/)
				{
					/*// Считаем, что субконто, записанные в ключе аналитики, подходят для заполнения проводки
*/
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, 1, СтруктураСубконтоДт.Субконто1);
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, 2, СтруктураСубконтоДт.Субконто2);
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, 3, СтруктураСубконтоДт.Субконто3);
				}
			}
			//НоваяПроводка.СчетКт = СтрокаВыборки.СчетУчета;
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "Подразделения")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "НоменклатурныеГруппы")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			}
			/*// Заполним аналитику "СтатьяЗатрат" если:
*/
			/*// 	- проводка формируется по НУ - субконто "СтатьяЗатрат" необходимо для корректного формирования декларации по налогу на прибыль
*/
			/*// 	- в учетной политике установлен способ формирования проводок "Детально"
*/
			/*// 	- субконто не является оборотным 
*/
			if(true/*ТипЗнч(РегистрБухгалтерииНаборЗаписей) = Тип("РегистрБухгалтерииНаборЗаписей.Налоговый") 
			ИЛИ ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) 
			ИЛИ НЕ УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "СтатьиЗатрат")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "СтатьиЗатрат", СтрокаВыборки.СтатьяЗатрат);
			}
			if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
	 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
			{
				//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
				//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуРаспределениеПоПродажам()
		// Функция проверяет заполнение счета учета затрат.
		//
		// Параметры
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	СчетСписания - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат
		//	Сумма - Число - сумма затрат. Используется для формирования сообщения об ошибке.
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения счетов.
		//

		public object ПроверитьСчетУчетаИСчетСписания(/*
	СтрокаВыборки,
	СчетСписания,
	Сумма
	*/)
		{
			//ПроверкаПройдена = Истина;
			if(true/*Не ЗначениеЗаполнено(СтрокаВыборки.СчетУчета)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан счет учета затрат:
		|Организация: " + СтрокаВыборки.Организация + "
		|Подразделение: " + СтрокаВыборки.Подразделение + "
		|Номенклатурная группа: " + СтрокаВыборки.НоменклатурнаяГруппа + "
		|Заказ: " + СтрокаВыборки.Заказ + "
		|Проводка по распределению затрат на сумму: " + Сумма + " не сформирована!
		|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			if(true/*Не ЗначениеЗаполнено(СчетСписания)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не определен счет списания затрат:
		|Организация: " + СтрокаВыборки.Организация + "
		|Подразделение: " + СтрокаВыборки.Подразделение + "
		|Номенклатурная группа: " + СтрокаВыборки.НоменклатурнаяГруппа + "
		|Заказ: " + СтрокаВыборки.Заказ + "
		|Проводка по распределению затрат на сумму: " + Сумма + " не сформирована!
		|", СтатусСообщения.Важное);*/
				//ПроверкаПройдена = Ложь;
			}
			return null;
		}
		// ПроверитьСчетУчетаИСчетСписания()
		// Процедура формирует движения по регистру бухгалтерии.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	СчетСписания - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат
		//	НоменклатурнаяГруппа - СправочникСсылка.НоменклатурныеГруппы - Номенклатурная группа
		//  ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//  СтруктураСубконтоДт - Структура - аналитика счета Дт
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииРаспределениеПоПродажам(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	СтрокаВыборки,
	СчетСписания,
	НоменклатурнаяГруппа,
	ХарактерЗатрат,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	РегистрБухгалтерииНаборЗаписей,
	СтруктураСубконтоДт = Неопределено*/)
		{
			if(true/*Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			/*// При УСН формировать проводки по налоговому учету не требуется
*/
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете 
		И (СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСНДоходы)*/)
			{
			}
			/*ПроверкаПройдена = ПроверитьСчетУчетаИСчетСписания(
		СтрокаВыборки, 
		СчетСписания, 
		Сумма
	);*/
			if(true/*ПроверкаПройдена*/)
			{
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
				{
					/*// ВидУчетаПоПБУ18
*/
					/*Сумма,
				РегистрБухгалтерииНаборЗаписей,
				СтруктураСубконтоДт
			);*/
				}
			}
		}
		// СформироватьДвиженияПоРегиструБухгалтерииРаспределениеПоПродажам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ РАСХОДОВ ПО ПРОДАЖАМ
		// Функция получает счет списания затрат.
		//
		// Параметры:
		//	СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	ЕНВД - Булево - Признак распределения по деятельности, облагаемой ЕНВД
		//
		// Возвращаемое значение:
		// 	ПланыСчетовСсылка.Хозрасчетный или ПланыСчетовСсылка.Налоговый - Счет списания затрат
		//

		public object ПолучитьСчетСписанияЗатрат(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	ХарактерЗатрат,
	ЕНВД
	*/)
		{
			//СчетСписания = Неопределено;
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//СпособСписания = СтруктураШапкиДокумента.УчетнаяПолитика.ДиректКостингСпособСписания;
				if(true/*СпособСписания = Перечисления.ДиректКостингСпособыСписания.НаСебестоимостьПродаж*/)
				{
					if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
					{
						/*СчетСписания = ?(Не ЕНВД, 
					ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеОблагаемаяЕНВД,
					ПланыСчетов.Хозрасчетный.СебестоимостьПродажОблагаемаяЕНВД
				);*/
					}
				}
			}
			return null;
		}
		// ПолучитьСчетСписанияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ТРАНСПОРТНЫХ РАСХОДОВ
		// Функция формирует текст запроса по себестоимости реализации и остаткам товаров.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоСебестоимостиРеализацииИОстаткамТоваровРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	РегистрАналитикаВидаУчета.Ссылка
	|	
	|ПОМЕСТИТЬ ОтборАналитикаВидаУчета
	|ИЗ
	|	РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|ГДЕ
	|	РегистрАналитикаВидаУчета.Организация = &Организация
	|	И РегистрАналитикаВидаУчета.СчетУчета В ИЕРАРХИИ (&МассивСчетовУчета)
	|;
	|
	|///////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	РегистрАналитикаУчетаПрочихЗатрат.Ссылка
	|	
	|ПОМЕСТИТЬ ОтборАналитикаУчетаПрочихЗатрат
	|ИЗ
	|	РегистрСведений.АналитикаУчетаПрочихЗатрат КАК РегистрАналитикаУчетаПрочихЗатрат
	|ГДЕ
	|	РегистрАналитикаУчетаПрочихЗатрат.Организация = &Организация
	|	И РегистрАналитикаУчетаПрочихЗатрат.СчетУчета В ИЕРАРХИИ (&СчетСебестоимостьПродаж)
	|;
	|
	|///////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ЕСТЬNULL(УчетЗатрат.ОстатокТоваров, 0)) 					КАК ОстатокТоваров,
	|	СУММА(ЕСТЬNULL(УчетЗатрат.СтоимостьРеализованныхТоваров, 0)) 	КАК СтоимостьРеализованныхТоваров
	|ИЗ (
	|	ВЫБРАТЬ
	|		ВЫБОР КОГДА &ИспользоватьДанныеНалоговогоУчета ТОГДА
	|			УчетЗатрат.СтоимостьНУОстаток 
	|		ИНАЧЕ
	|			УчетЗатрат.СтоимостьОстаток 
	|		КОНЕЦ КАК ОстатокТоваров,
	|		0 КАК СтоимостьРеализованныхТоваров
	|	ИЗ
	|		РегистрНакопления.УчетЗатратРегл.Остатки(&КонГраница, 
	|			АналитикаВидаУчета В (
	|				ВЫБРАТЬ
	|					ОтборАналитикаВидаУчета.Ссылка
	|				ИЗ
	|					ОтборАналитикаВидаУчета КАК ОтборАналитикаВидаУчета
	|				)
	|		) КАК УчетЗатрат
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		0,
	|		СУММА(
	|		ВЫБОР КОГДА &ИспользоватьДанныеНалоговогоУчета ТОГДА
	|			УчетЗатрат.СтоимостьНУ
	|		ИНАЧЕ
	|			УчетЗатрат.Стоимость
	|		КОНЕЦ)
	|	ИЗ
	|		РегистрНакопления.УчетЗатратРегл КАК УчетЗатрат
	|		
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			ОтборАналитикаВидаУчета КАК ОтборАналитикаВидаУчета
	|		ПО
	|			УчетЗатрат.АналитикаВидаУчета = ОтборАналитикаВидаУчета.Ссылка
	|		
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			ОтборАналитикаУчетаПрочихЗатрат КАК ОтборАналитикаУчетаПрочихЗатрат
	|		ПО
	|			УчетЗатрат.КорАналитикаВидаУчета = ОтборАналитикаУчетаПрочихЗатрат.Ссылка
	|	
	|	ГДЕ
	|		УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|		И УчетЗатрат.Активность
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		0,
	|		СУММА(
	|		ВЫБОР КОГДА &ИспользоватьДанныеНалоговогоУчета ТОГДА
	|			-УчетЗатрат.СтоимостьНУ
	|		ИНАЧЕ
	|			-УчетЗатрат.Стоимость
	|		КОНЕЦ)
	|	ИЗ
	|		РегистрНакопления.УчетЗатратРегл КАК УчетЗатрат
	|		
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			ОтборАналитикаВидаУчета КАК ОтборАналитикаВидаУчета
	|		ПО
	|			УчетЗатрат.АналитикаВидаУчета = ОтборАналитикаВидаУчета.Ссылка
	|			
	|	ГДЕ
	|		УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|		И УчетЗатрат.Активность
	|		И УчетЗатрат.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.ВозвратОтПокупателя)
	|	
	|	) КАК УчетЗатрат
	|;
	|
	|///////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ ОтборАналитикаВидаУчета
	|;
	|
	|///////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ ОтборАналитикаУчетаПрочихЗатрат";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСебестоимостиРеализацииИОстаткамТоваровРасширеннаяАналитика()
		// Функция формирует текст запроса по себестоимости реализации и остаткам товаров.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоСебестоимостиРеализацииИОстаткамТоваров(/**/)
		{
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	РегистрБухгалтерии.СуммаКонечныйОстаток КАК ОстатокТоваров,
	|	0 										КАК СтоимостьРеализованныхТоваров
	|	
	|ПОМЕСТИТЬ РегистрБухгалтерии
	|ИЗ
	|	//ДляБухУчета РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
	|	//ДляНалУчета РегистрБухгалтерии.Налоговый.ОстаткиИОбороты(
	|		&НачГраница,
	|		&КонГраница,
	|		,
	|		,
	|		Счет В ИЕРАРХИИ (&МассивСчетовУчета),
	|		,
	|		Организация = &Организация
	|		//ДляНалУчета И ВидУчета = &ВидУчета
	|	) КАК РегистрБухгалтерии
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	0,
	|	РегистрБухгалтерии.СуммаОборот
	|ИЗ
	|	//ДляБухУчета РегистрБухгалтерии.Хозрасчетный.Обороты(
	|	//ДляНалУчета РегистрБухгалтерии.Налоговый.Обороты(
	|		&НачГраница,
	|		&КонГраница, , 
	|		Счет В ИЕРАРХИИ (&СчетСебестоимостьПродаж),, 
	|		Организация = &Организация
	|		//ДляНалУчета И ВидУчета = &ВидУчета
	|		, 
	|		КорСчет В ИЕРАРХИИ (&МассивСчетовУчета),
	|	) КАК РегистрБухгалтерии
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СУММА(ЕСТЬNULL(РегистрБухгалтерии.ОстатокТоваров, 0)) 					КАК ОстатокТоваров,
	|	СУММА(ЕСТЬNULL(РегистрБухгалтерии.СтоимостьРеализованныхТоваров, 0)) 	КАК СтоимостьРеализованныхТоваров
	|ИЗ 
	|	РегистрБухгалтерии
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ РегистрБухгалтерии";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСебестоимостиРеализацииИОстаткамТоваров()
		// Процедура устанавливает параметры запроса по себестоимости реализации и остаткам товаров.
		//
		// Параметры:
		//	СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	Запрос - Запрос
		//	ИспользоватьДанныеНалоговогоУчета - Булево - Признак использования в запросе данных НУ
		//

		public void УстановитьПараметрыЗапросаПоСебестоимостиРеализацииИОстаткамТоваров(/*СтруктураШапкиДокумента, 
	Запрос, 
	ИспользоватьДанныеНалоговогоУчета*/)
		{
			//МассивСчетовУчета = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику ИЛИ НЕ ИспользоватьДанныеНалоговогоУчета*/)
			{
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ТоварыНаСкладах);
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ТоварыВРозничнойТорговле);
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ТараПодТоваромИПорожняя);
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ПокупныеИзделия);
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ПокупныеТоварыОтгруженные);
				//МассивСчетовУчета.Добавить(ПланыСчетов.Хозрасчетный.ТорговаяНаценка);
				//СчетСебестоимостьПродаж = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеОблагаемаяЕНВД;
			}
			//Запрос.УстановитьПараметр("НачДата", 							СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", 							СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", 						СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", 						СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", 						СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("МассивСчетовУчета", 					МассивСчетовУчета);
			//Запрос.УстановитьПараметр("СчетСебестоимостьПродаж", 			СчетСебестоимостьПродаж);
			//Запрос.УстановитьПараметр("ИспользоватьДанныеНалоговогоУчета", 	ИспользоватьДанныеНалоговогоУчета);
			/*// Параметр используется только в режиме РА
*/
			if(true/*ИспользоватьДанныеНалоговогоУчета*/)
			{
				//Запрос.УстановитьПараметр("СчетПВ",  ПланыСчетов.Налоговый.ПоступлениеИВыбытиеИмуществаРаботУслугПрав);
				//Запрос.УстановитьПараметр("ВидУчета", Перечисления.ВидыУчетаПоПБУ18.НУ);
			}
		}
		// УстановитьПараметрыЗапросаПоСебестоимостиРеализацииИОстаткамТоваров()
		// Функция рассчитывает коэффициент списания транспортных расходов.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//

		public object ПолучитьКоэффициентСписанияТранспортныхРасходов(/*
	СтруктураШапкиДокумента
	*/)
		{
			/*// Для расчета коэффициента используем данные НУ (по налогу на прибыль).
*/
			/*// Потому, что организация 
*/
			/*// - должна их использовать для НУ (ст. 320 НК)
*/
			/*// - может их использовать для БУ
*/
			//ИспользоватьДанныеНалоговогоУчета = Истина;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСНДоходы*/)
			{
				/*// Нет данных налогового учета, поэтому для расчета используем данные БУ
*/
				//ИспользоватьДанныеНалоговогоУчета = Ложь;
			}
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапроса = СформироватьТекстЗапросаПоСебестоимостиРеализацииИОстаткамТоваровРасширеннаяАналитика();
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросаПоСебестоимостиРеализацииИОстаткамТоваров(
		СтруктураШапкиДокумента,
		Запрос,
		ИспользоватьДанныеНалоговогоУчета
	);*/
			//СтоимостьРеализованныхТоваров = 0;
			//ОстатокТоваров = 0;
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//СтоимостьРеализованныхТоваров = Выборка.СтоимостьРеализованныхТоваров;
					//ОстатокТоваров = Выборка.ОстатокТоваров;
				}
			}
			if(true/*СтоимостьРеализованныхТоваров + ОстатокТоваров <> 0*/)
			{
				//Коэффициент = ОстатокТоваров / (СтоимостьРеализованныхТоваров + ОстатокТоваров);
			}
			return null;
		}
		// ПолучитьКоэффициентСписанияТранспортныхРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ЗАПОЛНЕНИЯ СПИСКА ДЕЙСТВИЙ РАСЧЕТА СЕБЕСТОИМОСТИ
		// Функция формирует массив для заполнения табличной части "Выполняемые действия".
		//

		public object ПолучитьМассивВыполняемыхДействийРасширеннаяАналитика(/*ПериодРегистрации, Организация, ОтражатьВУправленческомУчете*/)
		{
			//МассивДействий = Новый Массив;
			if(true/*НЕ ОтражатьВУправленческомУчете*/)
			{
				//УчетнаяПолитикаРегл = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(КонецМесяца(ПериодРегистрации), Организация, Истина);
				if(true/*ЗначениеЗаполнено(УчетнаяПолитикаРегл) 
		 И УчетнаяПолитикаРегл.ВидУчетаТЗР = Перечисления.ВариантыУчетаТЗР.ОтнесениеНаОтдельныйСчет*/)
				{
					//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеТЗР);
				}
			}
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетСебестоимостиПроизводственныхУслуг);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетБазыРаспределенияРасходов);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеРасходовПоБазе);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетФактическойСебестоимости);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.ФормированиеДвиженийПоРегистрам);
			return null;
		}
		// ПолучитьМассивВыполняемыхДействийРасширеннаяАналитика()
		// Функция формирует массив для заполнения табличной части "Выполняемые действия".
		//

		public object ПолучитьМассивВыполняемыхДействийТрадиционныйРежим(/*ПериодРегистрации, Организация, ОтражатьВУправленческомУчете, СообщатьОбОшибке*/)
		{
			if(true/*ОтражатьВУправленческомУчете*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиУпр(ПериодРегистрации, СообщатьОбОшибке);
			}
			//МассивДействий = Новый Массив;
			if(true/*Не ЗначениеЗаполнено(УчетнаяПолитика)*/)
			{
			}
			//РасчетПоПеределам = Ложь;
			//РасчетПоПодразделениям = Ложь;
			if(true/*УчетнаяПолитика.СпособРасчетаСебестоимостиОсновногоПроизводства = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//РасчетПоПеределам = Истина;
			}
			if(true/*УчетнаяПолитика.СпособРасчетаСебестоимостиВспомогательногоПроизводства = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//РасчетПоПеределам = Истина;
			}
			//ДиректКостинг = УчетнаяПолитика.ДиректКостинг;
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетБазыРаспределенияПроизводственныхРасходов);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеПроизводственныхРасходов);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеПродукцииИЗатратПоПеределам);
			if(true/*РасчетПоПодразделениям*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетПрямыхЗатратПоПодразделениям);
			}
			if(true/*РасчетПоПеределам*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетПрямыхЗатратПоПеределам);
			}
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.ОпределениеПродукцииИсключаемойИзБазыРаспределения);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетБазыРаспределенияКосвенныхРасходов);
			if(true/*РасчетПоПодразделениям*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеКосвенныхРасходовПоПодразделениям);
			}
			if(true/*РасчетПоПеределам*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РаспределениеКосвенныхРасходовПоПеределам);
			}
			if(true/*ДиректКостинг*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.СписаниеОбщехозяйственныхРасходовПоМетодуДиректКостинг);
			}
			if(true/*РасчетПоПодразделениям*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетЗатратВстречногоВыпускаПоПодразделениям);
			}
			if(true/*РасчетПоПеределам*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.РасчетЗатратВстречногоВыпускаПоПеределам);
			}
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.СписаниеИздержекОбращения);
			//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.СписаниеКоммерческихРасходов);
			if(true/*ОтражатьВУправленческомУчете*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.СписаниеПрочихЗатрат);
			}
			if(true/*Не ОтражатьВУправленческомУчете*/)
			{
				//МассивДействий.Добавить(Перечисления.ВыполняемыеОперацииРасчетСебестоимостиВыпуска.СверткаДвиженийПоРегистрам);
			}
			return null;
		}
		// ПолучитьМассивВыполняемыхДействийТрадиционныйРежим()

		public object ПолучитьМассивВыполняемыхДействий(/*ПериодРегистрации, Организация, ОтражатьВУправленческомУчете,ОтражатьВНалоговомУчете, СообщатьОбОшибке=Ложь*/)
		{
			//ИспользоватьРасширеннуюАналитику = УправлениеЗапасами.ИспользуетсяРасширеннаяАналитикаУчета(ПериодРегистрации);
			if(true/*ИспользоватьРасширеннуюАналитику*/)
			{
				//МассивДействий = ПолучитьМассивВыполняемыхДействийРасширеннаяАналитика(ПериодРегистрации, Организация, ОтражатьВУправленческомУчете);
			}
			return null;
		}
		// Процедура дополняет структуру шапки документа новыми значениями.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public void ДополнитьСтруктуруШапкиДокумента(/*
	СтруктураШапкиДокумента
	*/)
		{
			if(true/*Не СтруктураШапкиДокумента.Свойство("ИтерационныйРасчетЗатратВстречногоВыпуска")*/)
			{
				//СтруктураШапкиДокумента.Вставить("ИтерационныйРасчетЗатратВстречногоВыпуска", Ложь);
			}
		}
		// ДополнитьСтруктуруШапкиДокумента()
		// Функция возвращает значение характера затрат, соответствующего счету затрат.
		//
		// Параметры
		//  СчетЗатрат - ПланСчетовСсылка - счет затрат, по которому определяется характер затрат.
		//  СтатьяЗатрат - СправочникСсылка.СтатьиЗатрат - статья затрат для уточнения характера затрат.
		//
		// Возвращаемое значение:
		//   ПеречислениеСсылка.ХарактерЗатрат – характер затрат, соответствующий счету затрат.
		//

		public object ПолучитьХарактерЗатратПоСчетуЗатратМежд(/*
	СчетЗатрат, 
	СтатьяЗатрат
	*/)
		{
			/*// Проверка счета затрат.
*/
			if(true/*НЕ ЗначениеЗаполнено(СчетЗатрат)*/)
			{
				//ПравильныйСчетЗатрат = Ложь;
			}
			if(true/*ПравильныйСчетЗатрат*/)
			{
				if(true/*СчетЗатрат = ПланыСчетов.Международный.ОсновноеПроизводство
		 ИЛИ СчетЗатрат = ПланыСчетов.Международный.ВспомогательноеПроизводство
		 ИЛИ СчетЗатрат.ПринадлежитЭлементу(ПланыСчетов.Международный.ОсновноеПроизводство)
		 ИЛИ СчетЗатрат.ПринадлежитЭлементу(ПланыСчетов.Международный.ВспомогательноеПроизводство)*/)
				{
					//ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
				}
			}
			return null;
		}
		// ПолучитьХарактерЗатратПоСчетуЗатратМежд()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ЗАПОЛНЕНИЯ КОРРЕКТИРОВКИ ВСТРЕЧНОГО ВЫПУСКА ПРОДУКЦИИ
		// Функция формирует текст запроса для заполнения корректировки встречного выпуска продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаЗаполнениеКорректировкиВстречногоВыпускаПродукции(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	//ДляУпрУчета Истина КАК ОтражатьВУправленческомУчете,
	|	//ДляБухУчета Истина КАК ОтражатьВБухгалтерскомУчете,
	|	//ДляНалУчета Истина КАК ОтражатьВНалоговомУчете,
	|	//ДляМеждУчета Истина КАК ОтражатьВМеждународномУчете,
	|
	|	СписанныеТовары.Регистратор КАК Документ,
	|	СписанныеТовары.НомерСтроки КАК НомерСтрокиСписанныхТоваров,
	|	
	|	//ДляРеглУчета МАКСИМУМ(ЗатратыНаВыпуск.Организация) КАК Организация,
	|	//ДляРеглУчета МАКСИМУМ(ЗатратыНаВыпуск.СчетУчета) КАК СчетУчета,
	|	МАКСИМУМ(ЗатратыНаВыпуск.Подразделение),
	|	МАКСИМУМ(ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП) КАК НоменклатурнаяГруппа,
	|	МАКСИМУМ(ЗатратыНаВыпуск.ЗаказНЗП) КАК Заказ,
	|	МАКСИМУМ(ЗатратыНаВыпуск.СтатьяЗатрат) КАК СтатьяЗатрат,
	|	МАКСИМУМ(ЗатратыНаВыпуск.Затрата) КАК Затрата,
	|	МАКСИМУМ(ЗатратыНаВыпуск.ХарактеристикаЗатраты) КАК ХарактеристикаЗатраты,
	|	МАКСИМУМ(ЗатратыНаВыпуск.СерияЗатраты) КАК СерияЗатраты
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ВстречныйВыпускПродукции.Продукция КАК Продукция,
	|			ВстречныйВыпускПродукции.Затрата КАК Затрата,
	|			ВстречныйВыпускПродукции.СпособОценкиСтоимости КАК СпособОценкиСтоимости
	|		ИЗ
	|			РегистрСведений.ВстречныйВыпускПродукцииУслуг.СрезПоследних(&КонДата, ) КАК ВстречныйВыпускПродукции
	|		ГДЕ
	|			ВстречныйВыпускПродукции.СпособОценкиСтоимости = &СпособОценкиСтоимости
	|		) КАК РегистрВстречныйВыпуск
	|	ПО
	|		ЗатратыНаВыпуск.Затрата = РегистрВстречныйВыпуск.Затрата
	|		И ЗатратыНаВыпуск.Продукция = РегистрВстречныйВыпуск.Продукция
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			СписанныеТовары.Регистратор,
	|			СписанныеТовары.НомерСтроки,
	|			Ложь КАК ДокументПередачаТоваров,
	|			
	|			СписанныеТовары.СтатьяЗатрат,
	|			//ДляУпрУчета СписанныеТовары.Подразделение,
	|			//ДляРеглУчета СписанныеТовары.ПодразделениеОрганизации КАК Подразделение,
	|			
	|			//ДляУпрУчета Неопределено КАК КорСчет,
	|			//ДляБухУчета СписанныеТовары.КорСчетБУ КАК КорСчет,
	|			//ДляНалУчета СписанныеТовары.КорСчетНУ КАК КорСчет,
	|			//ДляМеждУчета СписанныеТовары.КорСчетМУ КАК КорСчет,
	|			СписанныеТовары.НоменклатурнаяГруппа,
	|			СписанныеТовары.ЗаказСписания,
	|			
	|			СписанныеТовары.Номенклатура,
	|			СписанныеТовары.ХарактеристикаНоменклатуры,
	|			ВЫБОР КОГДА СписанныеТовары.Номенклатура.ВестиУчетПоСериямВНЗП ТОГДА
	|				СписанныеТовары.СерияНоменклатуры
	|			ИНАЧЕ
	|				ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|			КОНЕЦ КАК СерияНоменклатуры
	|		ИЗ
	|			РегистрСведений.СписанныеТовары КАК СписанныеТовары
	|		ГДЕ 
	|			СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляУпрУчета И СписанныеТовары.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|			//ДляНалУчета И СписанныеТовары.ОтражатьВНалоговомУчете
	|			//ДляМеждУчета И СписанныеТовары.ОтражатьВМеждународномУчете
	|			//ДляРеглУчета И СписанныеТовары.Организация = &Организация
	|			И (СписанныеТовары.Регистратор ССЫЛКА Документ.ТребованиеНакладная
	|				ИЛИ СписанныеТовары.Регистратор ССЫЛКА Документ.ПолучениеУслугПоПереработке)
	|			И СписанныеТовары.Номенклатура В (
	|				ВЫБРАТЬ
	|					ВстречныйВыпускПродукции.Затрата
	|				ИЗ
	|					РегистрСведений.ВстречныйВыпускПродукцииУслуг.СрезПоследних(&КонДата, ) КАК ВстречныйВыпускПродукции
	|				ГДЕ
	|					ВстречныйВыпускПродукции.СпособОценкиСтоимости = &СпособОценкиСтоимости
	|				)	
	|		
	|		ОБЪЕДИНИТЬ ВСЕ
	|						
	|		ВЫБРАТЬ
	|			СписанныеТовары.Регистратор,
	|			СписанныеТовары.НомерСтроки,
	|			Истина КАК ДокументПередачаТоваров,
	|			
	|			Неопределено КАК СтатьяЗатрат,
	|			Неопределено КАК Подразделение,
	|			Неопределено КАК КорСчет,
	|			Неопределено КАК НоменклатурнаяГруппа,
	|			Неопределено КАК ЗаказСписания,
	|			
	|			СписанныеТовары.Номенклатура,
	|			СписанныеТовары.ХарактеристикаНоменклатуры,
	|			ВЫБОР КОГДА СписанныеТовары.Номенклатура.ВестиУчетПоСериямВНЗП ТОГДА
	|				СписанныеТовары.СерияНоменклатуры
	|			ИНАЧЕ
	|				ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|			КОНЕЦ КАК СерияНоменклатуры
	|		ИЗ
	|			РегистрСведений.СписанныеТовары КАК СписанныеТовары
	|		ГДЕ 
	|			СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляУпрУчета И СписанныеТовары.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|			//ДляНалУчета И СписанныеТовары.ОтражатьВНалоговомУчете
	|			//ДляМеждУчета И СписанныеТовары.ОтражатьВМеждународномУчете
	|			//ДляРеглУчета И СписанныеТовары.Организация = &Организация
	|			И СписанныеТовары.Регистратор ССЫЛКА Документ.ПередачаТоваров
	|			И СписанныеТовары.Регистратор.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПередачаТоваров.ВПереработкуБрак)
	|			И СписанныеТовары.Номенклатура В (
	|				ВЫБРАТЬ
	|					ВстречныйВыпускПродукции.Затрата
	|				ИЗ
	|					РегистрСведений.ВстречныйВыпускПродукцииУслуг.СрезПоследних(&КонДата, ) КАК ВстречныйВыпускПродукции
	|				ГДЕ
	|					ВстречныйВыпускПродукции.СпособОценкиСтоимости = &СпособОценкиСтоимости
	|				)	
	|		) КАК СписанныеТовары
	|	ПО
	|		ЗатратыНаВыпуск.Затрата = СписанныеТовары.Номенклатура
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = СписанныеТовары.ХарактеристикаНоменклатуры
	|		И ЗатратыНаВыпуск.СерияЗатраты = СписанныеТовары.СерияНоменклатуры
	|		И (ЗатратыНаВыпуск.СтатьяЗатрат = СписанныеТовары.СтатьяЗатрат 
	|			ИЛИ СписанныеТовары.ДокументПередачаТоваров)
	|		И (ЗатратыНаВыпуск.Подразделение = СписанныеТовары.Подразделение
	|			ИЛИ СписанныеТовары.ДокументПередачаТоваров)
	|		И (ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = СписанныеТовары.НоменклатурнаяГруппа
	|			ИЛИ СписанныеТовары.ДокументПередачаТоваров)
	|		И (ЗатратыНаВыпуск.ЗаказНЗП = СписанныеТовары.ЗаказСписания
	|			ИЛИ СписанныеТовары.ДокументПередачаТоваров)
	|		//ДляРеглУчета И (ЗатратыНаВыпуск.СчетУчета = СписанныеТовары.КорСчет
	|		//ДляРеглУчета 	ИЛИ СписанныеТовары.ДокументПередачаТоваров)
	|		
	|ГДЕ 
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И Не СписанныеТовары.Регистратор ЕСТЬ NULL
	|	И ЗатратыНаВыпуск.Затрата В (
	|		ВЫБРАТЬ
	|			ВстречныйВыпускПродукции.Затрата
	|		ИЗ
	|			РегистрСведений.ВстречныйВыпускПродукцииУслуг.СрезПоследних(&КонДата, ) КАК ВстречныйВыпускПродукции
	|		ГДЕ
	|			ВстречныйВыпускПродукции.СпособОценкиСтоимости = &СпособОценкиСтоимости
	|		)
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	СписанныеТовары.Регистратор,
	|	СписанныеТовары.НомерСтроки
	|
	|УПОРЯДОЧИТЬ ПО
	|	СписанныеТовары.Регистратор,
	|	СписанныеТовары.НомерСтроки
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаЗаполнениеКорректировкиВстречногоВыпускаПродукции()
		// Процедура формирует движение по регистру сведений "Корректировка встречного выпуска продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	НомерЗаписи - Число - Номер строки выборки
		//	НаборЗаписейКорректировкаВстречногоВыпускаПродукции - РегистрСведенийНаборЗаписей - Набор записей регистра сведений "Корректировка встречного выпуска продукции".
		//

		public void СформироватьДвиженияПоРегиструКорректировкаВстречногоВыпускаПродукции(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	НомерЗаписи,
	НаборЗаписейКорректировкаВстречногоВыпускаПродукции
	*/)
		{
			//НоваяСтрока = НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			if(true/*СтрокаВыборки.НомерСтрокиСписанныхТоваров = 0
	   И СтрокаВыборки.Документ = Неопределено*/)
			{
				//НоваяСтрока.НомерСтрокиСписанныхТоваров = НомерЗаписи;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Количество() = 1000*/)
			{
				//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструКорректировкаВстречногоВыпускаПродукции()
		// Процедура заполняет регистр сведений "Корректировка встречного выпуска продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public void ЗаполнениеКорректировкиВстречногоВыпускаПродукции(/*
	СтруктураШапкиДокумента
	*/)
		{
			//ДополнитьСтруктуруШапкиДокумента(СтруктураШапкиДокумента);
			if(true/*СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска*/)
			{
			}
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаЗаполнениеКорректировкиВстречногоВыпускаПродукции();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("СпособОценкиСтоимости", Перечисления.СпособыОценкиСтоимостиВстречногоВыпуска.ПоРасчетнойСтоимости);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				//НаборЗаписейКорректировкаВстречногоВыпускаПродукции = РегистрыСведений.КорректировкаВстречногоВыпускаПродукции.СоздатьНаборЗаписей();
				//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Отбор.Регистратор.Установить(СтруктураШапкиДокумента.Ссылка);
				//Выборка = РезультатЗапроса.Выбрать();
				while(true/*Выборка.Следующий()*/)
				{
					/*СформироватьДвиженияПоРегиструКорректировкаВстречногоВыпускаПродукции(
				СтруктураШапкиДокумента,
				Выборка,
				0,
				НаборЗаписейКорректировкаВстречногоВыпускаПродукции
			);*/
				}
				if(true/*НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Модифицированность()*/)
				{
					//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Записать(Ложь);
				}
			}
		}
		// ЗаполнениеКорректировкиВстречногоВыпускаПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПОДГОТОВКИ ТАБЛИЦЫ НОМЕНКЛАТУРЫ, ИСКЛЮЧАЕМОЙ ИЗ БАЗЫ РАСПРЕДЕЛЕНИЯ ЗАТРАТ.
		// Процедура формирования запроса по продукции, полностью списанной на собственные нужды.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоСписаниюНаСобственныеНужды(/**/)
		{
			/*ТекстЗапросаСписокНоменклатуры = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Продукция 
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|	И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|";*/
			/*ТекстЗапросаСпособыРаспределения = "
	|						ВЫБРАТЬ РАЗЛИЧНЫЕ
	|							СпособыРаспределения.СпособРаспределенияЗатрат,
	|							СпособыРаспределения.ХарактерРаспределенияЗатрат,
	|							СпособыРаспределения.Подразделение,
	|							СпособыРаспределения.СтатьяЗатрат
	|						ИЗ
	|							РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(
	|								&КонГраница, 
	|								//ДляРеглУчета Организация = &Организация 
	|							) КАК СпособыРаспределения
	|
	|							ЛЕВОЕ СОЕДИНЕНИЕ (
	|								ВЫБРАТЬ РАЗЛИЧНЫЕ
	|									СпособыРаспределения.СтатьяЗатрат,
	|									СпособыРаспределения.ХарактерРаспределенияЗатрат,
	|									СпособыРаспределения.Период
	|								ИЗ
	|									РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(
	|										&КонГраница,
	|										//ДляРеглУчета Организация = &Организация
	|										) КАК СпособыРаспределения
	|									ГДЕ
	|										Не СпособыРаспределения.НеРаспределять
	|			
	|								) КАК СпособыРаспределенияПоПериодам
	|							ПО
	|								СпособыРаспределения.ХарактерРаспределенияЗатрат
	|									<> СпособыРаспределенияПоПериодам.ХарактерРаспределенияЗатрат
	|								И СпособыРаспределения.СтатьяЗатрат = СпособыРаспределенияПоПериодам.СтатьяЗатрат
	|								И СпособыРаспределения.Период < СпособыРаспределенияПоПериодам.Период
	|	
	|						ГДЕ
	|							Не СпособыРаспределения.НеРаспределять
	|							И СпособыРаспределенияПоПериодам.СтатьяЗатрат ЕСТЬ NULL
	|							И СпособыРаспределения.ХарактерРаспределенияЗатрат <> &ПроизводственныеРасходы
	|";*/
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	СписаниеНаСобственныеНужды.Номенклатура 				КАК Номенклатура,
	|	СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры 	КАК ХарактеристикаНоменклатуры,
	|	СписаниеНаСобственныеНужды.СерияНоменклатуры 			КАК СерияНоменклатуры,
	|	Сумма(ВЫБОР КОГДА
	|			(ВыпускПродукцииВсего.Количество - СписаниеНаСобственныеНужды.Количество +
	|			ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.Количество, 0)) <= 0 ТОГДА
	|				СписаниеНаСобственныеНужды.Количество
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|		) КАК Количество
	|ИЗ (
	|	ВЫБРАТЬ
	|		СписаниеНаСобственныеНужды.Номенклатура 				КАК Номенклатура,
	|		СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры 	КАК ХарактеристикаНоменклатуры,
	|		СписаниеНаСобственныеНужды.СерияНоменклатуры 			КАК СерияНоменклатуры,
	|		СУММА(СписаниеНаСобственныеНужды.Количество) 			КАК Количество
	|	ИЗ (
	|		ВЫБРАТЬ
	|			ПартииТоваровНаСкладах.Номенклатура 				КАК Номенклатура,
	|			ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры 	КАК ХарактеристикаНоменклатуры,
	|			ПартииТоваровНаСкладах.СерияНоменклатуры 			КАК СерияНоменклатуры,
	|			СУММА(ПартииТоваровНаСкладах.Количество) 			КАК Количество
	|		ИЗ
	|			РегистрНакопления.ПартииТоваровНаСкладах%СуффиксУчета% КАК ПартииТоваровНаСкладах
	|			
	|			ЛЕВОЕ СОЕДИНЕНИЕ (
	|				ВЫБРАТЬ
	|					СписанныеТовары.Регистратор,
	|					СписанныеТовары.НомерСтроки,
	|					СписанныеТовары.СтатьяЗатрат,
	|					СпособыРаспределенияСтатейЗатрат.СпособРаспределенияЗатрат
	|				ИЗ
	|					РегистрСведений.СписанныеТовары КАК СписанныеТовары
	|				
	|					ЛЕВОЕ СОЕДИНЕНИЕ (
	|						//ТекстЗапросаСпособыРаспределения
	|						) КАК СпособыРаспределенияСтатейЗатрат
	|					ПО 
	|						СпособыРаспределенияСтатейЗатрат.СтатьяЗатрат = СписанныеТовары.СтатьяЗатрат
	|						И (
	|							//ДляУпрУчета СпособыРаспределенияСтатейЗатрат.Подразделение = СписанныеТовары.Подразделение
	|							//ДляРеглУчета СпособыРаспределенияСтатейЗатрат.Подразделение = СписанныеТовары.ПодразделениеОрганизации
	|							ИЛИ СпособыРаспределенияСтатейЗатрат.Подразделение = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|							ИЛИ СпособыРаспределенияСтатейЗатрат.Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|							)
	|						
	|				ГДЕ
	|					СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|					//ДляУпрУчета И СписанныеТовары.ОтражатьВУправленческомУчете
	|					//ДляРеглУчета И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|					//ДляРеглУчета И СписанныеТовары.Организация = &Организация
	|					//ДляРеглУчета И СписанныеТовары.КорСчетБУ В ИЕРАРХИИ (&ИсключаемыеСчетаЗатрат)
	|					И СписанныеТовары.Регистратор ССЫЛКА Документ.ТребованиеНакладная
	|					И Не СпособыРаспределенияСтатейЗатрат.СпособРаспределенияЗатрат ЕСТЬ NULL
	|		    		И СписанныеТовары.Номенклатура В (
	|						//ТекстЗапросаСписокНоменклатуры
	|						)
	|
	|				) КАК СписанныеТовары
	|			ПО
	|				ПартииТоваровНаСкладах.Регистратор 						= СписанныеТовары.Регистратор
	|				И ПартииТоваровНаСкладах.НомерСтрокиСписанныхТоваров 	= СписанныеТовары.НомерСтроки
	|
	|		ГДЕ
	|			ПартииТоваровНаСкладах.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляРеглУчета И ПартииТоваровНаСкладах.Организация = &Организация
	|			И ПартииТоваровНаСкладах.КодОперации В (&КодыОперацийСписанияПартии)
	|			И Не СписанныеТовары.СпособРаспределенияЗатрат ЕСТЬ NULL
	|
	|		    И ПартииТоваровНаСкладах.Номенклатура В (
	|				//ТекстЗапросаСписокНоменклатуры
	|				)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ПартииТоваровНаСкладах.Номенклатура,
	|			ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
	|			ПартииТоваровНаСкладах.СерияНоменклатуры
	|
	|		ОБЪЕДИНИТЬ ВСЕ
    |
	|		ВЫБРАТЬ
	|			ВыпускПродукции.Продукция               КАК Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции          КАК СерияПродукции,
	|			СУММА(ВыпускПродукции.Количество) 		КАК Количество
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|			
	|			ЛЕВОЕ СОЕДИНЕНИЕ (
	|				//ТекстЗапросаСпособыРаспределения
	|				) КАК СпособыРаспределенияСтатейЗатрат
	|			ПО 
	|				СпособыРаспределенияСтатейЗатрат.СтатьяЗатрат = ВыпускПродукции.СтатьяЗатратПолучатель
	|				И (
	|					СпособыРаспределенияСтатейЗатрат.Подразделение = ВыпускПродукции.ПодразделениеПолучатель
	|					ИЛИ СпособыРаспределенияСтатейЗатрат.Подразделение = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|					ИЛИ СпособыРаспределенияСтатейЗатрат.Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|					)
	|		ГДЕ
	|			ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|			И ВыпускПродукции.КодОперации В (&КодыОперацийСписаниеНаЗатраты)
	|			И Не СпособыРаспределенияСтатейЗатрат.СтатьяЗатрат ЕСТЬ NULL
	|			//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|			//ДляРеглУчета И ВыпускПродукции.СчетДт В ИЕРАРХИИ (&ИсключаемыеСчетаЗатрат)
	|
	|		СГРУППИРОВАТЬ ПО
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции
	|
	|   	 ) КАК СписаниеНаСобственныеНужды
	|	    
	|	СГРУППИРОВАТЬ ПО
	|		СписаниеНаСобственныеНужды.Номенклатура,
	|		СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры,
	|		СписаниеНаСобственныеНужды.СерияНоменклатуры
	|	    
	|	) КАК СписаниеНаСобственныеНужды
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ВыпускПродукции.Продукция               КАК Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции 			КАК СерияПродукции,
	|			СУММА(ВыпускПродукции.Количество) 		КАК Количество
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ГДЕ
	|			ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|			И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции
	|		) КАК ВыпускПродукцииВсего
	|	ПО
	|		СписаниеНаСобственныеНужды.Номенклатура               	= ВыпускПродукцииВсего.Продукция
	|		И СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры = ВыпускПродукцииВсего.ХарактеристикаПродукции
	|		И СписаниеНаСобственныеНужды.СерияНоменклатуры 			= ВыпускПродукцииВсего.СерияПродукции
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ПартииТоваровНаСкладах.Номенклатура,
	|			ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
	|			ПартииТоваровНаСкладах.СерияНоменклатуры,
	|			ПартииТоваровНаСкладах.КоличествоОстаток КАК Количество
	|		ИЗ
	|			РегистрНакопления.ПартииТоваровНаСкладах%СуффиксУчета%.Остатки(&НачГраница, 
	|				Номенклатура В ( 
	|					//ТекстЗапросаСписокНоменклатуры 
	|					)
	|				//ДляРеглУчета И Организация = &Организация
	|
	|			) КАК ПартииТоваровНаСкладах
	|		
	|		) КАК ПартииТоваровНаСкладахОстатки
	|	ПО
	|		СписаниеНаСобственныеНужды.Номенклатура               	= ПартииТоваровНаСкладахОстатки.Номенклатура
	|		И СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстатки.ХарактеристикаНоменклатуры
	|		И СписаниеНаСобственныеНужды.СерияНоменклатуры 			= ПартииТоваровНаСкладахОстатки.СерияНоменклатуры
	|	
	|СГРУППИРОВАТЬ ПО
	|	СписаниеНаСобственныеНужды.Номенклатура,
	|	СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры,
	|	СписаниеНаСобственныеНужды.СерияНоменклатуры
	|	
	|ИМЕЮЩИЕ
	|	Сумма(ВЫБОР КОГДА
	|			(ВыпускПродукцииВсего.Количество - СписаниеНаСобственныеНужды.Количество +
	|			ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.Количество, 0)) <= 0 ТОГДА
	|				СписаниеНаСобственныеНужды.Количество
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|		) > 0
	|
	|УПОРЯДОЧИТЬ ПО
	|	СписаниеНаСобственныеНужды.Номенклатура,
	|	СписаниеНаСобственныеНужды.ХарактеристикаНоменклатуры,
	|	СписаниеНаСобственныеНужды.СерияНоменклатуры
	|";*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ТекстЗапросаСпособыРаспределения", ТекстЗапросаСпособыРаспределения);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ТекстЗапросаСписокНоменклатуры", ТекстЗапросаСписокНоменклатуры);
			return null;
		}
		// СформироватьТекстЗапросаПоСписаниюНаСобственныеНужды()
		// Процедура формирования запроса по полуфабрикатам, полностью использованным на выпуск продукции.
		//

		public object СформироватьТекстЗапросаПоИспользованиюПолуфабрикатов(/**/)
		{
			/*ТекстЗапросаСписокНоменклатуры = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Продукция 
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|";*/
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ЗатратыНаВыпуск.Затрата					КАК Номенклатура,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты	КАК ХарактеристикаНоменклатуры,
	|	ЗатратыНаВыпуск.СерияЗатраты			КАК СерияНоменклатуры,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП КАК НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.ЗаказНЗП КАК Заказ,
	|	//ДляУпрУчета Неопределено КАК СчетУчета,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	
	|	СписанныеТовары.Регистратор КАК Документ,
	|	СписанныеТовары.НомерСтроки КАК НомерСтрокиСписанныхТоваров,
	|	
	|	МАКСИМУМ(ЗатратыНаВыпуск.Количество) 			КАК Количество,
	|	МАКСИМУМ(ЗатратыНаВыпускВсего.Количество) 		КАК КоличествоВсего,
	|	МАКСИМУМ(НезавершенноеПроизводство.Количество) 	КАК КоличествоОстаток,
	|	МАКСИМУМ(ВыпускПродукции.Количество) 			КАК КоличествоВыпуск
	|ИЗ (
	|	ВЫБРАТЬ
	|		ЗатратыНаВыпуск.Подразделение,
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.ЗаказНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат,
	|		ЗатратыНаВыпуск.Затрата,
	|		ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|		ЗатратыНаВыпуск.СерияЗатраты,
	|		СУММА(ЗатратыНаВыпуск.Количество) КАК Количество
	|	ИЗ
	|		РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|		
	|		ЛЕВОЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ
	|				ИсключаемаяНоменклатура.Номенклатура,
	|				ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры,
	|				ИсключаемаяНоменклатура.СерияНоменклатуры,
	|				Истина КАК ЕстьИсключаемаяНоменклатура
	|			ИЗ
	|				РегистрСведений.НоменклатураИсключаемаяИзБазыРаспределения%СуффиксОрганизаций% КАК ИсключаемаяНоменклатура
	|			ГДЕ
	|				ИсключаемаяНоменклатура.Период МЕЖДУ &НачДата И &КонДата
	|				//ДляРеглУчета И ИсключаемаяНоменклатура.Организация = &Организация
	|			) КАК ИсключаемаяНоменклатура
	|		ПО
	|			ЗатратыНаВыпуск.Продукция               	= ИсключаемаяНоменклатура.Номенклатура
	|			И ЗатратыНаВыпуск.ХарактеристикаПродукции 	= ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры
	|			И ЗатратыНаВыпуск.СерияПродукции 			= ИсключаемаяНоменклатура.СерияНоменклатуры
	|			
	|	ГДЕ
	|		ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|		И ЗатратыНаВыпуск.КодОперации В (&ПрямыеЗатраты)
	|		И Не ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура ЕСТЬ NULL
	|		И ЗатратыНаВыпуск.Затрата В (
	|			//ТекстЗапросаСписокНоменклатуры
	|			)
	|		//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|	СГРУППИРОВАТЬ ПО
	|		ЗатратыНаВыпуск.Подразделение,
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.ЗаказНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат,
	|		ЗатратыНаВыпуск.Затрата,
	|		ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|		ЗатратыНаВыпуск.СерияЗатраты
	|			
	|	) КАК ЗатратыНаВыпуск
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			Распределение.Подразделение,
	|			Распределение.НоменклатурнаяГруппа,
	|			Распределение.СтатьяЗатрат,
	|			Распределение.Затрата,
	|			Распределение.ХарактеристикаЗатраты,
	|			Распределение.СерияЗатраты
	|		ИЗ			
	|			РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК Распределение
	|		ГДЕ
	|			Распределение.Период МЕЖДУ &НачДата И &КонДата
	|			И Распределение.НомерПередела = &НомерПередела
	|			И Распределение.Затрата В (
	|				//ТекстЗапросаСписокНоменклатуры
	|				)
	|			//ДляРеглУчета И Распределение.Организация = &Организация
	|
	|		) КАК Распределение
	|	ПО 
	|		ЗатратыНаВыпуск.Подразделение			= Распределение.Подразделение
	|		И ЗатратыНаВыпуск.Затрата				= Распределение.Затрата
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = Распределение.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты			= Распределение.СерияЗатраты
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппа 	= Распределение.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.СтатьяЗатрат  		= Распределение.СтатьяЗатрат
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ЗатратыНаВыпуск.Подразделение,
	|			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|			ЗатратыНаВыпуск.ЗаказНЗП,
	|			ЗатратыНаВыпуск.СтатьяЗатрат,
	|			ЗатратыНаВыпуск.Затрата,
	|			ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|			ЗатратыНаВыпуск.СерияЗатраты,
	|			СУММА(ЗатратыНаВыпуск.Количество) КАК Количество
	|		ИЗ
	|			РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|				
	|		ГДЕ
	|			ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|			И ЗатратыНаВыпуск.КодОперации В (&ПрямыеЗатраты)
	|			И ЗатратыНаВыпуск.Затрата В (
	|				//ТекстЗапросаСписокНоменклатуры
	|				)
	|			//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			ЗатратыНаВыпуск.Подразделение,
	|			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|			ЗатратыНаВыпуск.ЗаказНЗП,
	|			ЗатратыНаВыпуск.СтатьяЗатрат,
	|			ЗатратыНаВыпуск.Затрата,
	|			ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|			ЗатратыНаВыпуск.СерияЗатраты
	|			
	|		) КАК ЗатратыНаВыпускВсего
	|	ПО
	|		ЗатратыНаВыпуск.Затрата               	= ЗатратыНаВыпускВсего.Затрата
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = ЗатратыНаВыпускВсего.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты 			= ЗатратыНаВыпускВсего.СерияЗатраты
	|		И ЗатратыНаВыпуск.Подразделение 		= ЗатратыНаВыпускВсего.Подразделение
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = ЗатратыНаВыпускВсего.НоменклатурнаяГруппаНЗП
	|		И ЗатратыНаВыпуск.СтатьяЗатрат			= ЗатратыНаВыпускВсего.СтатьяЗатрат
	|		И ЗатратыНаВыпуск.ЗаказНЗП = ЗатратыНаВыпускВсего.ЗаказНЗП
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = ЗатратыНаВыпускВсего.СчетУчета
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			СУММА(ВыпускПродукции.Количество) КАК Количество
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ГДЕ
	|			ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|			И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|			//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции
	|
	|		) КАК ВыпускПродукции
	|	ПО
	|		ЗатратыНаВыпуск.Затрата               	= ВыпускПродукции.Продукция
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = ВыпускПродукции.ХарактеристикаПродукции
	|		И ЗатратыНаВыпуск.СерияЗатраты 			= ВыпускПродукции.СерияПродукции
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			НезавершенноеПроизводство.Подразделение,
	|			//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|			НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|			НезавершенноеПроизводство.СтатьяЗатрат,
	|			НезавершенноеПроизводство.Заказ,
	|			НезавершенноеПроизводство.Затрата,
	|			НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|			НезавершенноеПроизводство.СерияЗатраты,
	|			НезавершенноеПроизводство.КоличествоОстаток КАК Количество
	|		ИЗ
	|			РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|				Затрата В (
	|					//ТекстЗапросаСписокНоменклатуры
	|					)
	|				//ДляРеглУчета И Организация = &Организация
	|			) КАК НезавершенноеПроизводство
	|		
	|		) КАК НезавершенноеПроизводство
	|	ПО
	|		ЗатратыНаВыпуск.Затрата               	= НезавершенноеПроизводство.Затрата
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = НезавершенноеПроизводство.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты 			= НезавершенноеПроизводство.СерияЗатраты
	|		И ЗатратыНаВыпуск.Подразделение 		= НезавершенноеПроизводство.Подразделение
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = НезавершенноеПроизводство.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.СтатьяЗатрат			= НезавершенноеПроизводство.СтатьяЗатрат
	|		И ЗатратыНаВыпуск.ЗаказНЗП = НезавершенноеПроизводство.Заказ
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = НезавершенноеПроизводство.СчетУчета
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			СписанныеТовары.Регистратор,
	|			СписанныеТовары.НомерСтроки,
	|			СписанныеТовары.СтатьяЗатрат,
	|			//ДляУпрУчета СписанныеТовары.Подразделение,
	|			//ДляРеглУчета СписанныеТовары.ПодразделениеОрганизации КАК Подразделение,
	|			СписанныеТовары.КорСчетБУ,
	|			СписанныеТовары.НоменклатурнаяГруппа,
	|			СписанныеТовары.Номенклатура,
	|			СписанныеТовары.ЗаказСписания,
	|			СписанныеТовары.ХарактеристикаНоменклатуры,
	|			СписанныеТовары.СерияНоменклатуры
	|		ИЗ
	|			РегистрСведений.СписанныеТовары КАК СписанныеТовары
	|		ГДЕ 
	|			СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|			И СписанныеТовары.Регистратор ССЫЛКА Документ.ТребованиеНакладная
	|			И СписанныеТовары.Номенклатура В (
	|				//ТекстЗапросаСписокНоменклатуры
	|				)
	|			//ДляУпрУчета И СписанныеТовары.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|			//ДляРеглУчета И СписанныеТовары.Организация = &Организация
	|
	|		) КАК СписанныеТовары
	|	ПО
	|		ЗатратыНаВыпуск.Затрата 				= СписанныеТовары.Номенклатура
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = СписанныеТовары.ХарактеристикаНоменклатуры
	|		И ЗатратыНаВыпуск.СерияЗатраты 			= СписанныеТовары.СерияНоменклатуры
	|		И ЗатратыНаВыпуск.СтатьяЗатрат 			= СписанныеТовары.СтатьяЗатрат
	|		И ЗатратыНаВыпуск.Подразделение 		= СписанныеТовары.Подразделение
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = СписанныеТовары.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.ЗаказНЗП = СписанныеТовары.ЗаказСписания
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = СписанныеТовары.КорСчетБУ
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ИсключаемаяНоменклатура.Номенклатура,
	|			ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры,
	|			ИсключаемаяНоменклатура.СерияНоменклатуры,
	|			Истина КАК ЕстьИсключаемаяНоменклатура
	|		ИЗ
	|			РегистрСведений.НоменклатураИсключаемаяИзБазыРаспределения%СуффиксОрганизаций% КАК ИсключаемаяНоменклатура
	|		ГДЕ
	|			ИсключаемаяНоменклатура.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляРеглУчета И ИсключаемаяНоменклатура.Организация = &Организация
	|
	|		) КАК ИсключаемаяНоменклатура
	|	ПО
	|		ЗатратыНаВыпуск.Затрата               	= ИсключаемаяНоменклатура.Номенклатура
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры
	|		И ЗатратыНаВыпуск.СерияЗатраты 			= ИсключаемаяНоменклатура.СерияНоменклатуры
	|
	|ГДЕ
	|	ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура ЕСТЬ NULL
	|		
	|СГРУППИРОВАТЬ ПО
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	СписанныеТовары.Регистратор,
	|	СписанныеТовары.НомерСтроки
	|	
	|ИМЕЮЩИЕ
	|	(МАКСИМУМ(ЗатратыНаВыпуск.Количество) >= МАКСИМУМ(ЗатратыНаВыпускВсего.Количество))
	|	И (МАКСИМУМ(НезавершенноеПроизводство.Количество) = 0 
	|		ИЛИ МАКСИМУМ(НезавершенноеПроизводство.Количество) ЕСТЬ NULL)
	|		
	|УПОРЯДОЧИТЬ ПО
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	СписанныеТовары.Регистратор,
	|	СписанныеТовары.НомерСтроки
	|
	|ИТОГИ ПО
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	//ДляУпрУчета СчетУчета,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.СтатьяЗатрат
	|";*/
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ТекстЗапросаСписокНоменклатуры", ТекстЗапросаСписокНоменклатуры);
			return null;
		}
		// СформироватьТекстЗапросаПоИспользованиюПолуфабрикатов()
		// Процедура определяет номенклатуру, которая должна быть исключена из базы распределения затрат.
		// Из базы распределения исключается продукция, полностью списанная на собственные нужды (ОПР, ОХР, Брак в производстве),
		// и полуфабрикаты, которые включаются в себестоимость продукции, полностью списанной на собственные нужды.
		//

		public void ОпределитьНоменклатуруИсключаемуюИзБазыРаспределения(/*СтруктураШапкиДокумента*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете И Не СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//НаборЗаписейНоменклатураИсключаемаяИзБазы = РегистрыСведений.НоменклатураИсключаемаяИзБазыРаспределения.СоздатьНаборЗаписей();
			}
			//НаборЗаписейНоменклатураИсключаемаяИзБазы.Отбор.Регистратор.Установить(СтруктураШапкиДокумента.Ссылка);
			//ТаблицаДвижений = НаборЗаписейНоменклатураИсключаемаяИзБазы.Выгрузить();
			//НаборЗаписейКорректировкаВстречногоВыпускаПродукции = РегистрыСведений.КорректировкаВстречногоВыпускаПродукции.СоздатьНаборЗаписей();
			//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Отбор.Регистратор.Установить(СтруктураШапкиДокумента.Ссылка);
			//ТаблицаДвиженийКорректировка = НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Выгрузить();
			//МассивИсключаемыхКодовОпераций = Новый Массив;
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//МассивКодовОперацийСписанияПартии = Новый Массив;
			//МассивКодовОперацийСписанияПартии.Добавить(Перечисления.КодыОперацийПартииТоваров.СписаниеНаБрак);
			//МассивКодовОперацийСписанияПартии.Добавить(Перечисления.КодыОперацийПартииТоваров.СписаниеНаЗатраты);
			//МассивКодовОперацийСписанияПартии.Добавить(Перечисления.КодыОперацийПартииТоваров.СписаниеПартийВПроизводствоОперативно);
			//МассивКодовПрямыеЗатраты = Новый Массив;
			//МассивКодовПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодовОперацийСписаниеНаЗатраты = Новый Массив;
			//МассивКодовОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты);
			//МассивКодовОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство);
			//МассивИсключаемыхСчетовЗатрат = Новый Массив;
			//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
			//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
			//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
			//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
			//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.БракВПроизводстве);
			//МассивИсключаемыхХарактеровЗатрат = Новый Массив;
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ПроизводственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщепроизводственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.БракВПроизводстве);
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоСписаниюНаСобственныеНужды();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата",    СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата",    СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("ИсключаемыеКодыОпераций", 	МассивИсключаемыхКодовОпераций);
			//Запрос.УстановитьПараметр("КодыОперацийСписанияПартии", МассивКодовОперацийСписанияПартии);
			//Запрос.УстановитьПараметр("КодыОперацийСписаниеНаЗатраты", МассивКодовОперацийСписаниеНаЗатраты);
			//Запрос.УстановитьПараметр("ИсключаемыеСчетаЗатрат", 	МассивИсключаемыхСчетовЗатрат);
			//Запрос.УстановитьПараметр("ИсключаемыеХарактерыЗатрат", МассивИсключаемыхХарактеровЗатрат);
			//Запрос.УстановитьПараметр("НеУчитыватьПодразделение", Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//Запрос.УстановитьПараметр("ПроизводственныеРасходы", Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
			//Запрос.УстановитьПараметр("Материальные", Перечисления.ВидыЗатрат.Материальные);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//ТаблицаИсключаемойНоменклатуры = РезультатЗапроса.Выгрузить();
			//ТаблицаИсключаемойНоменклатуры.Свернуть("Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры", "");
			//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаИсключаемойНоменклатуры, ТаблицаДвижений);
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Организация, 	"Организация");
			}
			if(true/*ТаблицаДвижений.Количество() > 0*/)
			{
				//НаборЗаписейНоменклатураИсключаемаяИзБазы.мПериод = СтруктураШапкиДокумента.Период;
				//НаборЗаписейНоменклатураИсключаемаяИзБазы.мТаблицаДвижений = ТаблицаДвижений;
				//НаборЗаписейНоменклатураИсключаемаяИзБазы.ВыполнитьДвижения();
				//НаборЗаписейНоменклатураИсключаемаяИзБазы.Записать();
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	МИНИМУМ(РаспределениеЗатратПоПеределам.НомерПередела) КАК НачальныйПередел,
		|	МАКСИМУМ(РаспределениеЗатратПоПеределам.НомерПередела) КАК КонечныйПередел
		|ИЗ
		|	РегистрСведений.РаспределениеЗатратПоПеределам КАК РаспределениеЗатратПоПеределам
		|ГДЕ
		|	РаспределениеЗатратПоПеределам.Период МЕЖДУ &НачДата И &КонДата
		|	И РаспределениеЗатратПоПеределам.НомерПередела <> 0
		|";*/
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата",     СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата",     СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//РезультатЗапроса = Запрос.Выполнить().Выгрузить();
			if(true/*РезультатЗапроса.Количество() = 0*/)
			{
			}
			//НачальныйПередел = РезультатЗапроса[0].НачальныйПередел;
			//КонечныйПередел = РезультатЗапроса[0].КонечныйПередел;
			if(true/*Не ЗначениеЗаполнено(НачальныйПередел) ИЛИ Не ЗначениеЗаполнено(КонечныйПередел)*/)
			{
			}
			//ТекстЗапросаЗатратыСКомментариями = СформироватьТекстЗапросаПоИспользованиюПолуфабрикатов();
			/*ТекстЗапросаЗатраты = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаЗатратыСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//ЗапросЗатраты = Новый Запрос;
			//ЗапросЗатраты.Текст = ТекстЗапросаЗатраты;
			//ЗапросЗатраты.УстановитьПараметр("НачДата",    СтруктураШапкиДокумента.мНачДата);
			//ЗапросЗатраты.УстановитьПараметр("КонДата",    СтруктураШапкиДокумента.мКонДата);
			//ЗапросЗатраты.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//ЗапросЗатраты.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//ЗапросЗатраты.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//ЗапросЗатраты.УстановитьПараметр("ИсключаемыеКодыОпераций", МассивИсключаемыхКодовОпераций);
			//ЗапросЗатраты.УстановитьПараметр("ПрямыеЗатраты", 			МассивКодовПрямыеЗатраты);
			//НомерЗаписи = 0;
			if(true/*ТаблицаДвиженийКорректировка.Количество() > 0*/)
			{
				//ТаблицаДвиженийКорректировка.Свернуть("Документ, НомерСтрокиСписанныхТоваров, Подразделение, НоменклатурнаяГруппа, Заказ, СтатьяЗатрат, Затрата, ХарактеристикаЗатраты, СерияЗатраты", "");
				//ТаблицаДвижений = НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Выгрузить();
				//ТаблицаДвижений.Очистить();
				//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаДвиженийКорректировка, ТаблицаДвижений);
				if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
				{
					//ТаблицаДвижений.ЗаполнитьЗначения(Истина, "ОтражатьВУправленческомУчете");
				}
				if(true/*ТаблицаДвижений.Количество() > 0*/)
				{
					//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.мПериод          = СтруктураШапкиДокумента.Период;
					//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.мТаблицаДвижений = ТаблицаДвижений;
					//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.ВыполнитьДвижения();
					//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Записать();
				}
			}
		}
		// ОпределитьНоменклатуруИсключаемуюИзБазыРаспределения()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПОДГОТОВКИ ТАБЛИЦЫ НОМЕНКЛАТУРЫ, СПИСАННОЙ НА СТАТЬИ ЗАТРАТ, РАСПРЕДЕЛЯЕМЫЕ ПО БАЗЕ
		// Функция формирования текста запроса по продукции, списываемой на статьи затрат, распределяемые
		// базе распределения, указанной в регистре сведений "Способы распределения статей затрат".
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоСписаниюНаРаспределяемыеРасходы(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	//ДляУпрУчета Истина КАК ОтражатьВУправленческомУчете,
	|	//ДляРеглУчета Истина КАК ОтражатьВБухгалтерскомУчете,
	|	//ДляРеглУчета Истина КАК ОтражатьВНалоговомУчете,
	|
	|	СписанныеТовары.Регистратор КАК Документ,
	|	СписанныеТовары.НомерСтроки КАК НомерСтрокиСписанныхТоваров,
	|	
	|	//ДляРеглУчета СписанныеТовары.Организация,
	|	//ДляУпрУчета СписанныеТовары.Подразделение,
	|	//ДляРеглУчета СписанныеТовары.ПодразделениеОрганизации КАК Подразделение,
	|	//ДляБухУчета СписанныеТовары.КорСчетБУ КАК СчетУчета,
	|	//ДляНалУчета СписанныеТовары.КорСчетНУ КАК СчетУчета,
	|	СписанныеТовары.СтатьяЗатрат,
	|	СписанныеТовары.НоменклатурнаяГруппа,
	|	СписанныеТовары.ЗаказСписания КАК Заказ,
	|	СписанныеТовары.Номенклатура КАК Затрата,
	|	СписанныеТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаЗатраты,
	|	СписанныеТовары.СерияНоменклатуры КАК СерияЗатраты
	|	
	|ИЗ
	|	РегистрСведений.СписанныеТовары КАК СписанныеТовары
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Корректировка.Документ,
	|			Корректировка.НомерСтрокиСписанныхТоваров
	|		ИЗ
	|			РегистрСведений.КорректировкаВстречногоВыпускаПродукции КАК Корректировка
	|		ГДЕ
	|			Корректировка.Регистратор = &Ссылка
	|			//ДляУпрУчета И Корректировка.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И Корректировка.ОтражатьВБухгалтерскомУчете
	|		) КАК Корректировка
	|	ПО
	|		СписанныеТовары.Регистратор = Корректировка.Документ
	|		И СписанныеТовары.НомерСтроки = Корректировка.НомерСтрокиСписанныхТоваров
	|	
	|ГДЕ 
	|	СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляУпрУчета И СписанныеТовары.ОтражатьВУправленческомУчете
	|	//ДляБухУчета И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|	//ДляРеглУчета И СписанныеТовары.Организация = &Организация
	|	И СписанныеТовары.Регистратор ССЫЛКА Документ.ТребованиеНакладная
	|	И Корректировка.Документ ЕСТЬ NULL
	|	И СписанныеТовары.Номенклатура В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Продукция 
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ГДЕ
	|			ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|			И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|			//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|		)
	|		
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	//ДляУпрУчета Истина КАК ОтражатьВУправленческомУчете,
	|	//ДляРеглУчета Истина КАК ОтражатьВБухгалтерскомУчете,
	|	//ДляРеглУчета Истина КАК ОтражатьВНалоговомУчете,
	|
	|	Неопределено КАК Документ,
	|	0 КАК НомерСтрокиСписанныхТоваров,
	|	
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.ПодразделениеПолучатель,
	|	//ДляРеглУчета ВыпускПродукции.СчетДт КАК СчетУчета,
	|	ВыпускПродукции.СтатьяЗатратПолучатель,
	|	ВыпускПродукции.НоменклатурнаяГруппаПолучатель,
	|	Неопределено КАК Заказ,
	|	ВыпускПродукции.Продукция КАК Затрата,
	|	ВыпускПродукции.ХарактеристикаПродукции КАК ХарактеристикаЗатраты,
	|	ВыпускПродукции.СерияПродукции КАК СерияЗатраты
	|	
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Корректировка.Подразделение,
	|			//ДляРеглУчета Корректировка.СчетУчета,
	|			Корректировка.НоменклатурнаяГруппа,
	|			Корректировка.СтатьяЗатрат,
	|			Корректировка.Затрата,
	|			Корректировка.ХарактеристикаЗатраты,
	|			Корректировка.СерияЗатраты
	|		ИЗ
	|			РегистрСведений.КорректировкаВстречногоВыпускаПродукции КАК Корректировка
	|		ГДЕ
	|			Корректировка.Регистратор = &Ссылка
	|			И Корректировка.Документ = Неопределено
	|			//ДляУпрУчета И Корректировка.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И Корректировка.ОтражатьВБухгалтерскомУчете
	|			//ДляРеглУчета И Корректировка.Организация = &Организация
	|		) КАК Корректировка
	|	ПО
	|		ВыпускПродукции.ПодразделениеПолучатель = Корректировка.Подразделение
	|		//ДляРеглУчета И ВыпускПродукции.СчетДт = Корректировка.СчетУчета
	|		И ВыпускПродукции.СтатьяЗатратПолучатель = Корректировка.СтатьяЗатрат
	|		И ВыпускПродукции.НоменклатурнаяГруппаПолучатель = Корректировка.НоменклатурнаяГруппа
	|		И ВыпускПродукции.Продукция = Корректировка.Затрата
	|		И ВыпускПродукции.ХарактеристикаПродукции = Корректировка.ХарактеристикаЗатраты
	|		И ВыпускПродукции.СерияПродукции = Корректировка.СерияЗатраты
	|	
	|ГДЕ 
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И ВыпускПродукции.КодОперации В (&КодыОперацийСписаниеНаЗатраты)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|	И Корректировка.СтатьяЗатрат ЕСТЬ NULL
	|
	|УПОРЯДОЧИТЬ ПО
	|	Документ,
	|	НомерСтрокиСписанныхТоваров,
	|	Подразделение,
	|	//ДляРеглУчета СчетУчета,
	|	СтатьяЗатрат,
	|	НоменклатурнаяГруппа,
	|	Заказ,
	|	Затрата,
	|	ХарактеристикаЗатраты,
	|	СерияЗатраты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСписаниюНаРаспределяемыеРасходы()
		// Функция формирования запроса по продукции, списываемой на статьи затрат, распределяемые
		// базе распределения, указанной в регистре сведений "Способы распределения статей затрат".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по продукции.
		//

		public object СформироватьЗапросПоСписаниюНаРаспределяемыеРасходы(/*
	СтруктураШапкиДокумента
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоСписаниюНаРаспределяемыеРасходы();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("Ссылка", СтруктураШапкиДокумента.Ссылка);
			//МассивИсключаемыхКодовОпераций = Новый Массив;
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//Запрос.УстановитьПараметр("ИсключаемыеКодыОпераций", МассивИсключаемыхКодовОпераций);
			//МассивКодовОперацийСписаниеНаЗатраты = Новый Массив;
			//МассивКодовОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты);
			//МассивКодовОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство);
			//Запрос.УстановитьПараметр("КодыОперацийСписаниеНаЗатраты", МассивКодовОперацийСписаниеНаЗатраты);
			return null;
		}
		// СформироватьЗапросПоСписаниюНаРаспределяемыеРасходы()
		// Функция определяет максимальный номер, отраженный в измерении "Номер строки списанных товаров",
		// регистра "Корректировка встречного выпуска продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Число - Максимальный номер, отраженный в регистре сведений "Корректировка встречного выпуска продукции".
		//

		public object ПолучитьМаксимальныйНомерСтрокиРегистраКорректировкиВстречногоВыпуска(/*
	СтруктураШапкиДокумента
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	МАКСИМУМ(КорректировкаВстречногоВыпускаПродукции.НомерСтрокиСписанныхТоваров) КАК НомерСтрокиСписанныхТоваров
	|ИЗ
	|	РегистрСведений.КорректировкаВстречногоВыпускаПродукции КАК КорректировкаВстречногоВыпускаПродукции
	|ГДЕ
	|	КорректировкаВстречногоВыпускаПродукции.Документ = Неопределено
	|	И КорректировкаВстречногоВыпускаПродукции.Регистратор = &Ссылка
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("Ссылка", СтруктураШапкиДокумента.Ссылка);
			//РезультатЗапроса = Запрос.Выполнить();
			//НомерСтрокиСписанныхТоваров = 0;
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//НомерСтрокиСписанныхТоваров = Выборка.НомерСтрокиСписанныхТоваров;
				}
			}
			if(true/*НомерСтрокиСписанныхТоваров = NULL*/)
			{
				//НомерСтрокиСписанныхТоваров = 0;
			}
			return null;
		}
		// ПолучитьМаксимальныйНомерСтрокиРегистраКорректировкиВстречногоВыпуска()
		// Процедура определяет номенклатуру, списанную на статьи затрат, распределяемые про базе.
		//

		public void ОпределитьНоменклатуруСписаннуюНаРаспределяемыеЗатраты(/*СтруктураШапкиДокумента*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете И Не СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
			}
			//МассивХарактеровРаспределения = Новый Массив;
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			/*// Сформируем запрос по способам распределения статей затрат.	
*/
			/*// ФормироватьВременнуюТаблицу
*/
			/*СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//РезультатЗапросаПоСпособамРаспределенияЗатрат = ЗапросПоСпособамРаспределенияЗатрат.Выполнить();
			/*// Сформируем запрос по списанию продукции на распределяемые расходы.
*/
			//ЗапросПоСписаниюНаРасходы = СформироватьЗапросПоСписаниюНаРаспределяемыеРасходы(СтруктураШапкиДокумента);
			//РезультатЗапросаПоСписаниюНаРасходы = ЗапросПоСписаниюНаРасходы.Выполнить();
			if(true/*РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	 ИЛИ РезультатЗапросаПоСписаниюНаРасходы.Пустой()*/)
			{
			}
			//НаборЗаписейКорректировкаВстречногоВыпускаПродукции = РегистрыСведений.КорректировкаВстречногоВыпускаПродукции.СоздатьНаборЗаписей();
			//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Отбор.Регистратор.Установить(СтруктураШапкиДокумента.Ссылка);
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			//НомерЗаписи = ПолучитьМаксимальныйНомерСтрокиРегистраКорректировкиВстречногоВыпуска(СтруктураШапкиДокумента);
			//Выборка = РезультатЗапросаПоСписаниюНаРасходы.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НомерЗаписи = НомерЗаписи + 1;
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
				//РаспределятьНаПодчиненныеПодразделения = Ложь;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения,
			ХарактерРаспределенияЗатрат,
			РаспределятьНаПодчиненныеПодразделения
		);*/
				if(true/*Не РаспределятьЗатраты
		 ИЛИ ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы*/)
				{
				}
				/*СформироватьДвиженияПоРегиструКорректировкаВстречногоВыпускаПродукции(
			СтруктураШапкиДокумента,
			Выборка,
			НомерЗаписи,
			НаборЗаписейКорректировкаВстречногоВыпускаПродукции
			);*/
			}
			if(true/*НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Модифицированность()*/)
			{
				//НаборЗаписейКорректировкаВстречногоВыпускаПродукции.Записать(Ложь);
			}
		}
		// ОпределитьНоменклатуруСписаннуюНаРаспределяемыеЗатраты()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ЗАТРАТ ПО НАРАБОТКЕ
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСОВ ПО НАРАБОТКЕ
		// Функция формирует текст запроса по регистру "Затраты на выпуск (наработка)".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоЗатратамНаВыпускНаработка(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
	|		Неопределено
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Затрата
	|	КОНЕЦ КАК Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	ЗатратыНаВыпуск.Заказ,
	|	
	|	ЗатратыНаВыпуск.ПодразделениеНЗП КАК ЗатратыПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП КАК ЗатратыНоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП КАК ЗатратыЗаказНЗП,
	|	
	|	ЕСТЬNULL(
	|		НезавершенноеПроизводство.Подразделение,
	|		НезавершенноеПроизводствоАналитикаНЗП.Подразделение
	|		) КАК ПодразделениеНЗП,
	|	ЕСТЬNULL(
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводствоАналитикаНЗП.НоменклатурнаяГруппа
	|		) КАК НоменклатурнаяГруппаНЗП,
	|	ЕСТЬNULL(
	|		НезавершенноеПроизводство.Заказ,
	|		НезавершенноеПроизводствоАналитикаНЗП.Заказ 
	|		) КАК ЗаказНЗП,
	|	
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	
	|	ЗатратыНаВыпуск.КоличествоКонечныйОстаток КАК Количество,
	|	ЗатратыНаВыпуск.СуммаКонечныйОстаток КАК Сумма,
	|	
	|	ВЫБОР КОГДА Не ВыпускПродукции.КоличествоПриход ЕСТЬ NULL
	|		И Не ВыпускПродукции.КоличествоРасход ЕСТЬ NULL
	|		И (ВыпускПродукции.КоличествоПриход + ВыпускПродукции.КоличествоНачальныйОстаток) <> 0 
	|	ТОГДА
	|		ВыпускПродукции.КоличествоРасход / 
	|		(ВыпускПродукции.КоличествоПриход + ВыпускПродукции.КоличествоНачальныйОстаток)
	|	Иначе
	|		0
	|	Конец КАК КоэффициентРасхода
	|		
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукцииНаработка%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, , , 
	|		//ДляРеглУчета Организация = &Организация
	|	) КАК ЗатратыНаВыпуск
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
	|		РегистрНакопления.ВыпускПродукцииНаработка%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, , , 
	|			//ДляРеглУчета Организация = &Организация
	|		) КАК ВыпускПродукции
	|	ПО  
	|		ЗатратыНаВыпуск.Подразделение = ВыпускПродукции.Подразделение
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппа = ВыпускПродукции.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.Продукция = ВыпускПродукции.Продукция
	|		И ЗатратыНаВыпуск.ХарактеристикаПродукции = ВыпускПродукции.ХарактеристикаПродукции
	|		И ЗатратыНаВыпуск.Заказ = ВыпускПродукции.Заказ
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ 
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|			//ДляРеглУчета Организация = &Организация
	|		) КАК НезавершенноеПроизводство
	|	ПО  
	|		ЗатратыНаВыпуск.СтатьяЗатрат = НезавершенноеПроизводство.СтатьяЗатрат
	|		И (ЗатратыНаВыпуск.Затрата = НезавершенноеПроизводство.Затрата
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|			И НезавершенноеПроизводство.Затрата = Неопределено
	|			)
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = НезавершенноеПроизводство.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты = НезавершенноеПроизводство.СерияЗатраты
	|		
	|		И (ЗатратыНаВыпуск.ПодразделениеНЗП = НезавершенноеПроизводство.Подразделение
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Подразделение = НезавершенноеПроизводство.Подразделение
	|			//ДляУпрУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			)
	|		
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = НезавершенноеПроизводство.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.ЗаказНЗП = НезавершенноеПроизводство.Заказ
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = НезавершенноеПроизводство.СчетУчета
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ 
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|			//ДляРеглУчета Организация = &Организация
	|		) КАК НезавершенноеПроизводствоАналитикаНЗП
	|	ПО  
	|		НезавершенноеПроизводство.СтатьяЗатрат ЕСТЬ NULL
	|		И ЗатратыНаВыпуск.СтатьяЗатрат = НезавершенноеПроизводствоАналитикаНЗП.СтатьяЗатрат
	|		И (ЗатратыНаВыпуск.Затрата = НезавершенноеПроизводствоАналитикаНЗП.Затрата
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|			И НезавершенноеПроизводствоАналитикаНЗП.Затрата = Неопределено
	|			)
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = НезавершенноеПроизводствоАналитикаНЗП.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты = НезавершенноеПроизводствоАналитикаНЗП.СерияЗатраты
	|		
	|		И (ЗатратыНаВыпуск.ПодразделениеНЗП = НезавершенноеПроизводствоАналитикаНЗП.Подразделение
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Подразделение = НезавершенноеПроизводствоАналитикаНЗП.Подразделение
	|			//ДляУпрУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			)
	|		
	|		И (ЗатратыНаВыпуск.НоменклатурнаяГруппа = НезавершенноеПроизводствоАналитикаНЗП.НоменклатурнаяГруппа
	|			И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
	|			)
	|		
	|		И (ЗатратыНаВыпуск.Заказ = НезавершенноеПроизводствоАналитикаНЗП.Заказ
	|			И ЗатратыНаВыпуск.ЗаказНЗП = Неопределено
	|			)
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = НезавершенноеПроизводствоАналитикаНЗП.СчетУчета
	|		
	|ГДЕ
	|	ВыпускПродукции.КоличествоРасход <> 0
	|	И ЗатратыНаВыпуск.КоличествоРасход = 0
	|	И ЗатратыНаВыпуск.СуммаРасход = 0
	|	И (Не НезавершенноеПроизводство.СтатьяЗатрат ЕСТЬ NULL
	|		ИЛИ Не НезавершенноеПроизводствоАналитикаНЗП.СтатьяЗатрат ЕСТЬ NULL)
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Заказ,
	|
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоЗатратамНаВыпускНаработка()
		// Процедура устанавливает параметры запроса по производственным затратам.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросаПоНаработке(/*
	СтруктураШапкиДокумента,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата",    СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата",    СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивИсключаемыхКодовОпераций = Новый Массив;
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//Запрос.УстановитьПараметр("ИсключаемыеКодыОпераций", МассивИсключаемыхКодовОпераций);
		}
		// УстановитьПараметрыЗапросаПоНаработке()
		// Функция формирует запрос по регистру "Затраты на выпуск (наработка)".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по регистру "Затраты на выпуск (наработка)".
		//

		public object СформироватьЗапросПоЗатратамНаВыпускНаработка(/*
	СтруктураШапкиДокумента
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоЗатратамНаВыпускНаработка();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросаПоНаработке(
		СтруктураШапкиДокумента,
		Запрос
	);*/
			return null;
		}
		// СформироватьЗапросПоЗатратамНаВыпускНаработка()
		// Функция формирует текст запроса по регистру "Выпуск продукции".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоВыпускуПродукцииДоделка(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ДокументВыпуска,
	|	СУММА(ВыпускПродукции.Количество) КАК Количество
	|
	|ПОМЕСТИТЬ ВыпускПродукцииДоделка
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|	И ВыпускПродукции.КоличествоДоделка <> 0
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ДокументВыпуска
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоВыпускуПродукцииДоделка()
		// Процедура формирует временную таблицу "Выпуск продукции доделка".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//

		public void СформироватьВременнуюТаблицуВыпускуПродукцииДоделка(/*
	СтруктураШапкиДокумента,
	МенеджерВременныхТаблиц
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоВыпускуПродукцииДоделка();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			/*УстановитьПараметрыЗапросаПоНаработке(
		СтруктураШапкиДокумента,
		Запрос
	);*/
			//Запрос.Выполнить();
		}
		// СформироватьВременнуюТаблицуВыпускуПродукцииДоделка()
		// Функция формирует текст запроса по временной таблице.
		//
		// Возвращаемое значение:
		//	Запрос – Запроса по выборке выпуска продукции
		//

		public object СформироватьЗапросПоВыборкеВыпускаПродукции(/*
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ДокументВыпуска,
	|	ВыпускПродукции.Количество
	|ИЗ
	|	ВыпускПродукцииДоделка КАК ВыпускПродукции
	|ГДЕ
	|	ВыпускПродукции.Подразделение = &Подразделение
	|	И ВыпускПродукции.НоменклатурнаяГруппа = &НоменклатурнаяГруппа
	|	И ВыпускПродукции.Заказ = &Заказ
	|	И ВыпускПродукции.Продукция = &Продукция
	|	И ВыпускПродукции.ХарактеристикаПродукции = &ХарактеристикаПродукции
	|	
	|УПОРЯДОЧИТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ДокументВыпуска
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			return null;
		}
		// СформироватьЗапросПоВыборкеВыпускаПродукции()
		// Процедура устанавливает параметры запроса по выборке выпуска продукции.
		//
		// Параметры:
		//	ВыборкаПоЗатратам - ВыборкаИзРезультатаЗапроса - Строка выборки
		//	ЗапросПоВыпуску - ВыборкаИзРезультатаЗапроса - Строка выборки
		//

		public void УстановитьПараметрыЗапросаПоВыборкеВыпускаПродукции(/*
	ВыборкаПоЗатратам,
	ЗапросПоВыпуску
	*/)
		{
			//ЗапросПоВыпуску.УстановитьПараметр("Подразделение", ВыборкаПоЗатратам.Подразделение);
			//ЗапросПоВыпуску.УстановитьПараметр("НоменклатурнаяГруппа", ВыборкаПоЗатратам.НоменклатурнаяГруппа);
			//ЗапросПоВыпуску.УстановитьПараметр("Заказ", ВыборкаПоЗатратам.Заказ);
			//ЗапросПоВыпуску.УстановитьПараметр("Продукция", ВыборкаПоЗатратам.Продукция);
			//ЗапросПоВыпуску.УстановитьПараметр("ХарактеристикаПродукции", ВыборкаПоЗатратам.ХарактеристикаПродукции);
		}
		// УстановитьПараметрыЗапросаПоВыборкеВыпускаПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ "ЗАТРАТЫ НА ВЫПУСК ПРОДУКЦИИ" И "ЗАТРАТЫ НА ВЫПУСК ПРОДУКЦИИ (НАРАБОТКА)"
		// Процедура формирует движение по распределению затрат по регистру "Затраты на выпуск продукции (наработка)".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  Количество - Число - Количество затрат
		//  Сумма - Число - Сумма затрат
		//	НаборЗаписейЗатратыНаВыпускНаработка - ТаблицаЗначений - Таблица движений регистра накопления "Затраты на выпуск (наработка)".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработкаРасход(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Количество,
	Сумма,
	НаборЗаписейЗатратыНаВыпускНаработка
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты на выпуск (наработка)" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//
*/
			/*// Измерения и реквизиты:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции,
*/
			/*//	- Заказ,
*/
			/*//
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- Затрата,
*/
			/*//	- ХарактеристикаЗатраты,
*/
			/*//	- СерияЗатраты,
*/
			//НоваяСтрока = НаборЗаписейЗатратыНаВыпускНаработка.Добавить();
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Расход;
			//НоваяСтрока.Активность = Истина;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.ПодразделениеНЗП = СтрокаВыборки.ЗатратыПодразделениеНЗП;
			//НоваяСтрока.НоменклатурнаяГруппаНЗП = СтрокаВыборки.ЗатратыНоменклатурнаяГруппаНЗП;
			//НоваяСтрока.ЗаказНЗП = СтрокаВыборки.ЗатратыЗаказНЗП;
			//НоваяСтрока.Количество = Количество;
			//НоваяСтрока.Сумма = Сумма;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаВыпускНаработка.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаВыпускНаработка.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработкаРасход()
		// Процедура формирует движение по распределению затрат по регистру "Затраты на выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	РаспределениеЗатратПоБазе - Булево - Признак вызова процедуры при распределении затрат по базе
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//  Количество - Число - Количество затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	НаборЗаписейЗатратыНаВыпуск - ТаблицаЗначений - Таблица движений регистра накопления "Затраты на выпуск".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииСписаниеНаработки(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиВыпуск,
	Количество,
	Сумма,
	НаборЗаписейЗатратыНаВыпуск
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты на выпуск" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по распределенным затратам:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- Затрата,
*/
			/*//	- ХарактеристикаЗатраты,
*/
			/*//	- СерияЗатраты,
*/
			/*//	- НоменклатурнаяГруппаНЗП,
*/
			/*//	- ЗаказНЗП,
*/
			/*//	- ПодразделениеНЗП,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по выпуску продукции:
*/
			/*//	- СерияПродукции,
*/
			/*//	- Спецификация,
*/
			/*//	- ДокументВыпуска
*/
			//НоваяСтрока = НаборЗаписейЗатратыНаВыпуск.Добавить();
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Активность = Истина;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.СерияПродукции = СтрокаВыборкиВыпуск.СерияПродукции;
			//НоваяСтрока.Спецификация = СтрокаВыборкиВыпуск.Спецификация;
			//НоваяСтрока.ДокументВыпуска = СтрокаВыборкиВыпуск.ДокументВыпуска;
			if(true/*СтрокаВыборки.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ВозвратныеОтходы*/)
			{
				//КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты;
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.Количество = Количество;
			//НоваяСтрока.Сумма = Сумма;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаВыпуск.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаВыпуск.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииСписаниеНаработки()
		////////////////////////////////////////////////////////////////////////////////
		// Функция проверяет было ли выполнено списание затрат на выпуск по наработке в текущем месяце.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Булево - Признак что было выполнено списание затрат по наработке
		//

		public object ВыполненоСписаниеЗатратНаВыпускНаработка(/*СтруктураШапкиДокумента*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|	Истина КАК ВыполненоСписание
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукцииНаработка%СуффиксУчета% КАК ЗатратыНаВыпуск
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И ЗатратыНаВыпуск.Регистратор ССЫЛКА Документ.РасчетСебестоимостиВыпуска
	|	И ЗатратыНаВыпуск.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	|	//ДляРеглУчета И Организация = &Организация
	|";*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапроса, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//РезультатЗапроса = запрос.Выполнить();
			return null;
		}
		// ВыполненоСписаниеЗатратНаВыпускНаработка()
		// Процедура производит распределение затрат на выпуск по наработке.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//	ЗапросПоВыпуску - Запрос - Запрос по выборке выпуска продукции
		//	НаборЗаписейЗатратыНаВыпуск - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск продукции"
		//	НаборЗаписейЗатратыНаВыпускНаработка - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск продукции (наработка)"
		//

		public void РаспределитьЗатратыНаВыпускНаработка(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	ЗапросПоВыпуску,
	НаборЗаписейЗатратыНаВыпуск,
	НаборЗаписейЗатратыНаВыпускНаработка
	*/)
		{
			//МассивКоэф = Новый Массив;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//Количество = ВыборкаПоЗатратам.Количество;
				//Сумма = ВыборкаПоЗатратам.Сумма;
				//КоэффициентРасхода = ВыборкаПоЗатратам.КоэффициентРасхода;
				//КоэффициентРасхода = ?(КоэффициентРасхода > 1, 1, КоэффициентРасхода);
				//КоличествоРасход = Количество * КоэффициентРасхода;
				//СуммаРасход = Сумма * КоэффициентРасхода;
				/*УстановитьПараметрыЗапросаПоВыборкеВыпускаПродукции(
			ВыборкаПоЗатратам,
			ЗапросПоВыпуску
		);*/
				//РезультатаЗапросаПоВыпуску = ЗапросПоВыпуску.Выполнить();
				//МассивКоэф.Очистить();
				//ВыборкаПоВыпуску = РезультатаЗапросаПоВыпуску.Выбрать();
				while(true/*ВыборкаПоВыпуску.Следующий()*/)
				{
					//МассивКоэф.Добавить(ВыборкаПоВыпуску.Количество);
				}
				/*;
		
		МассивКоличество = ОбщегоНазначения.РаспределитьПропорционально(КоличествоРасход, МассивКоэф, 3);*/
				//МассивСумма      = ОбщегоНазначения.РаспределитьПропорционально(СуммаРасход, МассивКоэф, 2);
				//СписаноКоличество = 0;
				//СписаноСумма = 0;
				//Индекс = 0;
				//ВыборкаПоВыпуску.Сбросить();
				while(true/*ВыборкаПоВыпуску.Следующий()*/)
				{
					//Количество = ?(МассивКоличество = Неопределено, 0, МассивКоличество[Индекс]);
					//Сумма      = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					/*// Формирование движений по регистру "Затраты на выпуск".
*/
					/*СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииСписаниеНаработки(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ВыборкаПоВыпуску,
				Количество,
				Сумма,
				НаборЗаписейЗатратыНаВыпуск
			);*/
					//СписаноКоличество = СписаноКоличество + Количество;
					//СписаноСумма = СписаноСумма + Сумма;
					//Индекс = Индекс + 1;
				}
				/*// Формирование движений расход по регистру "Затраты на выпуск (наработка)".
*/
				/*СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработкаРасход(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			СписаноКоличество,
			СписаноСумма,
			НаборЗаписейЗатратыНаВыпускНаработка
		);*/
			}
			//;;
		}
		// РаспределитьЗатратыНаВыпускНаработка()
		// Процедура производит списание затрат на выпуск по наработке.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public void СписаниеЗатратНаВыпускНаработка(/*
	СтруктураШапкиДокумента
	*/)
		{
			/*// Списание затрат по наработке выполняем только один раз.
*/
			if(true/*ВыполненоСписаниеЗатратНаВыпускНаработка(СтруктураШапкиДокумента)*/)
			{
			}
			//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			/*СформироватьВременнуюТаблицуВыпускуПродукцииДоделка(
		СтруктураШапкиДокумента,
		МенеджерВременныхТаблиц
	);*/
			//ЗапросПоВыпуску = СформироватьЗапросПоВыборкеВыпускаПродукции(МенеджерВременныхТаблиц);
			//ЗапросПоЗатратам = СформироватьЗапросПоЗатратамНаВыпускНаработка(СтруктураШапкиДокумента);
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*РезультатЗапросаПоЗатратам.Пустой()*/)
			{
			}
			/*СтруктураИмен = Новый Структура("
		|ЗатратыНаВыпускПродукции, 
		|ЗатратыНаВыпускПродукцииНаработка 
		|");*/
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			/*РаспределитьЗатратыНаВыпускНаработка(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоЗатратам,
		ЗапросПоВыпуску,
		СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
		СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка
	);*/
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВМеждународномУчете
	   И СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка.Записать(Ложь);
			}
		}
		// СписаниеЗатратНаВыпускНаработка()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПРОВЕРКИ ПРАВИЛЬНОСТИ РАСПРЕДЕЛЕНИЯ ПРОИЗВОДСТВЕННЫХ ЗАТРАТ
		// Функция формирует запрос о прямых затратах не соответствующих выпуску продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по затратам на выпуск.
		//

		public object СформироватьЗапросПоРаспределениюЗатрат(/*
	СтруктураШапкиДокумента
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	РегЗатраты.Затрата,
	|	РегЗатраты.ХарактеристикаЗатраты,
	|	РегЗатраты.СерияЗатраты,
	|	РегЗатраты.Подразделение,
	|	РегЗатраты.НоменклатурнаяГруппа,
	|	РегЗатраты.СтатьяЗатрат,
	|	РегЗатраты.Продукция,
	|	РегЗатраты.ХарактеристикаПродукции,
	|	РегЗатраты.СерияПродукции,
	|	РегЗатраты.Спецификация,
	|	РегЗатраты.Заказ,
	|	//ДляРеглУчета РегЗатраты.СчетУчета,
	|
	|	СУММА(ЕСТЬNULL(РегВыпуск.КоличествоВыпуск, 0)) КАК КоличествоВыпуск,
	|	СУММА(РегЗатраты.Количество) КАК Количество,
	|	СУММА(РегЗатраты.Сумма) КАК Стоимость
	|	
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК РегЗатраты
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			РегВыпуск.Подразделение,
	|			РегВыпуск.Продукция,
	|			РегВыпуск.ХарактеристикаПродукции,
	|			РегВыпуск.СерияПродукции,
	|			РегВыпуск.Спецификация,
	|			РегВыпуск.НоменклатурнаяГруппа,
	|			РегВыпуск.Заказ,
	|			//ДляРеглУчета РегВыпуск.СчетУчетаНЗП,
	|			СУММА(РегВыпуск.Количество) КАК КоличествоВыпуск
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК РегВыпуск
	|		ГДЕ
	|			РегВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|			И РегВыпуск.КодОперации <> &КодФиксСтоим
	|			//ДляРеглУчета И РегВыпуск.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			РегВыпуск.Подразделение,
	|			РегВыпуск.Продукция,
	|			РегВыпуск.ХарактеристикаПродукции,
	|			РегВыпуск.СерияПродукции,
	|			РегВыпуск.Спецификация,
	|			РегВыпуск.НоменклатурнаяГруппа,
	|			РегВыпуск.Заказ,
	|			//ДляРеглУчета РегВыпуск.СчетУчетаНЗП,
	|			РегВыпуск.Заказ
	|
	|		) КАК РегВыпуск
	|	ПО
	|		РегВыпуск.Подразделение = РегЗатраты.Подразделение
	|	 	И РегВыпуск.НоменклатурнаяГруппа = РегЗатраты.НоменклатурнаяГруппа
	|	 	И РегВыпуск.Продукция = РегЗатраты.Продукция
	|	 	И РегВыпуск.ХарактеристикаПродукции = РегЗатраты.ХарактеристикаПродукции
	|	 	И РегВыпуск.СерияПродукции = РегЗатраты.СерияПродукции
	|	 	И РегВыпуск.Спецификация = РегЗатраты.Спецификация
	|		И РегВыпуск.Заказ = РегЗатраты.Заказ
	|	 	//ДляРеглУчета И РегВыпуск.СчетУчетаНЗП = РегЗатраты.СчетУчета
	|
	|ГДЕ
	|	РегЗатраты.Период МЕЖДУ &НачДата И &КонДата
	|	И РегЗатраты.КодОперации В (&КодыОпераций)
	|	И (РегВыпуск.КоличествоВыпуск = 0 ИЛИ РегВыпуск.КоличествоВыпуск Есть NULL)
	|	И (РегЗатраты.Количество <> 0 ИЛИ РегЗатраты.Сумма <> 0)
	|	//ДляРеглУчета И РегЗатраты.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	РегЗатраты.Затрата,
	|	РегЗатраты.ХарактеристикаЗатраты,
	|	РегЗатраты.СерияЗатраты,
	|	РегЗатраты.Подразделение,
	|	РегЗатраты.Продукция,
	|	РегЗатраты.ХарактеристикаПродукции,
	|	РегЗатраты.СерияПродукции,
	|	РегЗатраты.Спецификация,
	|	РегЗатраты.ДокументВыпуска,
	|	РегЗатраты.СтатьяЗатрат,
	|	РегЗатраты.НоменклатурнаяГруппа,
	|	//ДляРеглУчета РегЗатраты.СчетУчета,
	|	РегЗатраты.Заказ
	|
	|УПОРЯДОЧИТЬ ПО
	|	РегЗатраты.Затрата,
	|	РегЗатраты.ХарактеристикаЗатраты,
	|	РегЗатраты.СерияЗатраты,
	|	РегЗатраты.Подразделение,
	|	РегЗатраты.Продукция,
	|	РегЗатраты.ХарактеристикаПродукции,
	|	РегЗатраты.СерияПродукции,
	|	РегЗатраты.Спецификация,
	|	РегЗатраты.ДокументВыпуска,
	|	РегЗатраты.СтатьяЗатрат,
	|	РегЗатраты.НоменклатурнаяГруппа,
	|	//ДляРеглУчета РегЗатраты.СчетУчета,
	|	РегЗатраты.Заказ
	|";*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапроса, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивКодыОпераций = Новый Массив;
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//Запрос.УстановитьПараметр("КодыОпераций", МассивКодыОпераций);
			//Запрос.УстановитьПараметр("КодФиксСтоим", Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			return null;
		}
		// СформироватьЗапросПоРаспределениюЗатрат()
		// Процедура производит проверку соответствия распределения прямых затрат и выпуска продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public void ПроверитьПрямыеЗатраты(/*
	СтруктураШапкиДокумента
	*/)
		{
			//Запрос = СформироватьЗапросПоРаспределениюЗатрат(СтруктураШапкиДокумента);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//РасшифровкаСообщения = УправлениеЗатратами.СформироватьРасшифровкуОткрытияОтчета("АнализРаспределенияЗатрат");
			/*// Заголовок
*/
			/*// РодительскаяСтрока
*/
			/*// РаскрытьСообщение
*/
			//);
			//Обход = РезультатЗапроса.Выбрать();
			while(true/*Обход.Следующий()*/)
			{
				if(true/*Обход.Количество = 0 И Обход.Стоимость = 0*/)
				{
				}
				if(true/*Обход.Количество <> 0 И Обход.КоличествоВыпуск = 0*/)
				{
					/*// Заголовок
*/
					/*//РасшифровкаСообщения
*/
					/*СтрокаГруппы
			);*/
				}
			}
			//;;
		}
		// ПроверитьПрямыеЗатраты()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА СЕБЕСТОИМОСТИ ПО ПРЯМЫМ ЗАТРАТАМ
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "НЕЗАВЕРШЕННОЕ ПРОИЗВОДСТВО"
		// Функция формирует текст запроса по регистру "Незавершенное производство".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоНезавершенномуПроизводству(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	ЕСТЬNULL(НезавершенноеПроизводство.Затрата.ВестиУчетПоСериямВНЗП, Ложь) КАК ВестиУчетПоСериямВНЗП,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	НезавершенноеПроизводство.Заказ,
	|
	|	ЕСТЬNULL(Распределение.ВстречныйВыпуск, Ложь) КАК ВстречныйВыпуск,
	|	
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	
	|	СУММА(НезавершенноеПроизводство.Количество) КАК Количество,
	|	СУММА(НезавершенноеПроизводство.Стоимость) КАК Стоимость,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.ВременнаяРазница) КАК ВременнаяРазница,
	|
	|	СУММА(НезавершенноеПроизводство.КоличествоОстаток) КАК КоличествоОстаток,
	|	СУММА(НезавершенноеПроизводство.КоличествоРасход) КАК КоличествоРасход,
	|	
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.ПостояннаяРазницаОстаток) КАК ПостояннаяРазницаОстаток,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.ВременнаяРазницаОстаток) КАК ВременнаяРазницаОстаток,
	|	СУММА(НезавершенноеПроизводство.СтоимостьОстаток) КАК СтоимостьОстаток
	|	
	|ИЗ (
	|	
	|	// Остатки НЗП на начало месяца.
	|	ВЫБРАТЬ 
	|		НезавершенноеПроизводство.Подразделение,
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводство.СтатьяЗатрат,
	|		НезавершенноеПроизводство.Затрата,
	|		НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|		НезавершенноеПроизводство.СерияЗатраты,
	|		НезавершенноеПроизводство.Заказ,
	|		
	|		//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|		
	|		0 КАК Количество,
	|		0 КАК Стоимость,
	|		//ДляНалУчета 0 КАК ПостояннаяРазница,
	|		//ДляНалУчета 0 КАК ВременнаяРазница,
	|		
	|		НезавершенноеПроизводство.КоличествоОстаток,
	|		0 КАК КоличествоРасход,
	|		
	|		//ДляНалУчета НезавершенноеПроизводство.ПостояннаяРазницаОстаток,
	|		//ДляНалУчета НезавершенноеПроизводство.ВременнаяРазницаОстаток,
	|		НезавершенноеПроизводство.СтоимостьОстаток
	|		
	|	ИЗ
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&НачДата, 
	|			Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|			И (Затрата В (&МассивЗатрат)
	|				ИЛИ Затрата ССЫЛКА Справочник.СпособыРаспределенияЗатратНаВыпуск
	|				ИЛИ Затрата = Неопределено)
	|			//ДляРеглУчета И Организация = &Организация
	|			
	|			) КАК НезавершенноеПроизводство
	|			
	|	ОБЪЕДИНИТЬ ВСЕ		
	|		
	|	// Добавим приход в НЗП в течение месяца.
	|	ВЫБРАТЬ 
	|		НезавершенноеПроизводство.Подразделение,
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводство.СтатьяЗатрат,
	|		НезавершенноеПроизводство.Затрата,
	|		НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|		НезавершенноеПроизводство.СерияЗатраты,
	|		НезавершенноеПроизводство.Заказ,
	|		
	|		//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|		
	|		0,
	|		0,
	|		//ДляНалУчета 0,
	|		//ДляНалУчета 0,
	|		НезавершенноеПроизводство.КоличествоПриход,
	|		0,
	|
	|		//ДляНалУчета НезавершенноеПроизводство.ПостояннаяРазницаПриход,
	|		//ДляНалУчета НезавершенноеПроизводство.ВременнаяРазницаПриход,
	|		НезавершенноеПроизводство.СтоимостьПриход
	|
	|	ИЗ
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Обороты(&НачГраница, &КонГраница, , 
	|			Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|			И (Затрата В (&МассивЗатрат)
	|				ИЛИ Затрата ССЫЛКА Справочник.СпособыРаспределенияЗатратНаВыпуск
	|				ИЛИ Затрата = Неопределено)
	|			//ДляРеглУчета И Организация = &Организация
	|			
	|			) КАК НезавершенноеПроизводство
	|		       	
	|	ОБЪЕДИНИТЬ ВСЕ
	|		
	|	// Вычтем возврат из НЗП.
	|	ВЫБРАТЬ 
	|		НезавершенноеПроизводство.Подразделение,
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводство.СтатьяЗатрат,
	|		НезавершенноеПроизводство.Затрата,
	|		НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|		НезавершенноеПроизводство.СерияЗатраты,
	|		НезавершенноеПроизводство.Заказ,
	|		
	|		//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|		
	|		0,
	|		0,
	|		//ДляНалУчета 0,
	|		//ДляНалУчета 0,
	|		СУММА(
	|			ВЫБОР КОГДА НезавершенноеПроизводство.НомерПередела < &НомерПередела ТОГДА
	|				-НезавершенноеПроизводство.Количество
	|			ИНАЧЕ
	|				0
	|           КОНЕЦ
	|		) КАК КоличествоОстаток,
	|		СУММА(
	|			ВЫБОР КОГДА НезавершенноеПроизводство.НомерПередела = 1 ТОГДА
	|				НезавершенноеПроизводство.Количество
	|			ИНАЧЕ
	|				0
	|           КОНЕЦ
	|		) КАК КоличествоРасход,
	|		
	|		//ДляНалУчета СУММА(
	|		//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.НомерПередела < &НомерПередела ТОГДА
	|		//ДляНалУчета 		-НезавершенноеПроизводство.ПостояннаяРазница
	|		//ДляНалУчета 	ИНАЧЕ
	|		//ДляНалУчета 		0
	|       //ДляНалУчета   КОНЕЦ
	|		//ДляНалУчета ),
	|		//ДляНалУчета СУММА(
	|		//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.НомерПередела < &НомерПередела ТОГДА
	|		//ДляНалУчета 		-НезавершенноеПроизводство.ВременнаяРазница
	|		//ДляНалУчета 	ИНАЧЕ
	|		//ДляНалУчета 		0
	|       //ДляНалУчета 	КОНЕЦ
	|		//ДляНалУчета ),
	|		СУММА(
	|			ВЫБОР КОГДА НезавершенноеПроизводство.НомерПередела < &НомерПередела ТОГДА
	|				-НезавершенноеПроизводство.Стоимость
	|			ИНАЧЕ
	|				0
	|           КОНЕЦ
	|		)
	|
	|	ИЗ
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета% КАК НезавершенноеПроизводство
	|	ГДЕ
	|		НезавершенноеПроизводство.Период МЕЖДУ &НачДата И &КонДата
	|		И НезавершенноеПроизводство.Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		И НезавершенноеПроизводство.ВидДвижения = &ВидДвиженияРасход
	|		И НезавершенноеПроизводство.КодОперации В (&КодыОперВозврата)
	|		И (НезавершенноеПроизводство.Затрата В (&МассивЗатрат)
	|			ИЛИ НезавершенноеПроизводство.Затрата ССЫЛКА Справочник.СпособыРаспределенияЗатратНаВыпуск
	|			ИЛИ НезавершенноеПроизводство.Затрата = Неопределено)
	|			
	|		//ДляРеглУчета И НезавершенноеПроизводство.Организация = &Организация
	|
	|	СГРУППИРОВАТЬ ПО
	|		НезавершенноеПроизводство.Подразделение,
	|		//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводство.СтатьяЗатрат,
	|		НезавершенноеПроизводство.Затрата,
	|		НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|		НезавершенноеПроизводство.СерияЗатраты,
	|		НезавершенноеПроизводство.Заказ
	|		
	|	// Добавим данные о затратах на выпуск.
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП = &ПустоеПодразделение ТОГДА
	|			ЗатратыНаВыпуск.Подразделение
	|		ИНАЧЕ
	|			ЗатратыНаВыпуск.ПодразделениеНЗП
	|		КОНЕЦ,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат,
	|		ЗатратыНаВыпуск.Затрата,
	|		ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.Затрата.ВестиУчетПоСериямВНЗП ТОГДА
	|			ЗатратыНаВыпуск.СерияЗатраты
	|		ИНАЧЕ
	|			&ПустаяСерия
	|		КОНЕЦ КАК СерияЗатраты,
	|
	|		ЗатратыНаВыпуск.ЗаказНЗП,
	|			
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|			
	|		СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
	|		СУММА(ЗатратыНаВыпуск.Сумма) КАК Стоимость,
	|		//ДляНалУчета СУММА(ЗатратыНаВыпуск.ПостояннаяРазница) КАК ПостояннаяРазница,
	|		//ДляНалУчета СУММА(ЗатратыНаВыпуск.ВременнаяРазница) КАК ВременнаяРазница,
	|
	|		0,
	|		0,
	|		//ДляНалУчета 0,
	|		//ДляНалУчета 0,
	|		0
	|	ИЗ
	|		РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|	ГДЕ
	|		ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|		И ЗатратыНаВыпуск.Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		И ЗатратыНаВыпуск.КодОперации В (&КодыОперацийЗатратыНаВыпуск)
	|		И ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат <> &СтатусМатериальныхЗатратПринятые
	|		И (ЗатратыНаВыпуск.Затрата В (&МассивЗатрат)
	|			ИЛИ ЗатратыНаВыпуск.Затрата ССЫЛКА Справочник.СпособыРаспределенияЗатратНаВыпуск
	|			ИЛИ ЗатратыНаВыпуск.Затрата = Неопределено)
	|		//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|		
	|	СГРУППИРОВАТЬ ПО
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП = &ПустоеПодразделение ТОГДА
	|			ЗатратыНаВыпуск.Подразделение
	|		ИНАЧЕ
	|			ЗатратыНаВыпуск.ПодразделениеНЗП
	|		КОНЕЦ,
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат,
	|		ЗатратыНаВыпуск.Затрата,
	|		ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.Затрата.ВестиУчетПоСериямВНЗП ТОГДА
	|			ЗатратыНаВыпуск.СерияЗатраты
	|		ИНАЧЕ
	|			&ПустаяСерия
	|		КОНЕЦ,
	|
	|		ЗатратыНаВыпуск.ЗаказНЗП
	|		
	|	) КАК НезавершенноеПроизводство
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			МИНИМУМ(Распределение.ВстречныйВыпуск) КАК ВстречныйВыпуск,
	|			Распределение.СтатьяЗатрат,
	|			Распределение.Затрата,
	|			Распределение.ХарактеристикаЗатраты,
	|			Распределение.СерияЗатраты
	|		ИЗ			
	|			РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК Распределение
	|		ГДЕ
	|			Распределение.Период МЕЖДУ &НачДата И &КонДата
	|			И Распределение.НомерПередела = &НомерПередела
	|			//ДляРеглУчета И Распределение.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			Распределение.СтатьяЗатрат,
	|			Распределение.Затрата,
	|			Распределение.ХарактеристикаЗатраты,
	|			Распределение.СерияЗатраты
	|			
	|		) КАК Распределение
	|	ПО 
	|		НезавершенноеПроизводство.Затрата = Распределение.Затрата
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = Распределение.ХарактеристикаЗатраты
	|		И НезавершенноеПроизводство.СерияЗатраты = Распределение.СерияЗатраты
	|		И НезавершенноеПроизводство.СтатьяЗатрат = Распределение.СтатьяЗатрат
	|	
	|СГРУППИРОВАТЬ ПО
	|	НезавершенноеПроизводство.Подразделение,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	ЕСТЬNULL(НезавершенноеПроизводство.Затрата.ВестиУчетПоСериямВНЗП, Ложь),
	|	ЕСТЬNULL(Распределение.ВстречныйВыпуск, Ложь),
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	НезавершенноеПроизводство.Заказ
	|	
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоНезавершенномуПроизводству()
		// Процедура устанавливает параметры запроса по незавершенному производству.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросПоНезавершенномуПроизводству(/*
	СтруктураШапкиДокумента,
	СпособРасчета, 
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("ВидДвиженияРасход", ВидДвиженияНакопления.Расход);
			//Запрос.УстановитьПараметр("СтатусМатериальныхЗатратПринятые", Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку);
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//Запрос.УстановитьПараметр("ПустоеПодразделение", Справочники.Подразделения.ПустаяСсылка());
			}
			//Запрос.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			//МассивКодыОперацийВозврата = Новый Массив;
			//МассивКодыОперацийВозврата.Добавить(Перечисления.КодыОперацийНезавершенноеПроизводство.ВозвратМатериаловИзПроизводстваФикс);
			//МассивКодыОперацийВозврата.Добавить(Перечисления.КодыОперацийНезавершенноеПроизводство.КорректировкаНЗПФикс);
			//МассивКодыОперацийВозврата.Добавить(Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеНЗПФикс);
			//МассивКодыОперацийВозврата.Добавить(Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеНЗПРегламент);
			//Запрос.УстановитьПараметр("КодыОперВозврата", МассивКодыОперацийВозврата);
			//МассивКодыОпераций = Новый Массив;
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОперацийЗатратыНаВыпуск", МассивКодыОпераций);
		}
		// УстановитьПараметрыЗапросПоНезавершенномуПроизводству()
		// Функция формирует запрос по регистру "Незавершенное производство".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по регистру "Незавершенное производство".
		//

		public object СформироватьЗапросПоНезавершенномуПроизводству(/*
	СтруктураШапкиДокумента,
	СпособРасчета
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоНезавершенномуПроизводству();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросПоНезавершенномуПроизводству(
		СтруктураШапкиДокумента,
		СпособРасчета,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоНезавершенномуПроизводству()()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "ЗАТРАТЫ НА ВЫПУСК"
		// Функция формирует текст запроса по регистру "Затраты на выпуск".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоЗатратамНаВыпуск(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.Заказ,
	|	ЗатратыНаВыпуск.ДокументВыпуска,
	|	ЗатратыНаВыпуск.КодОперации,
	|	
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП = &ПустоеПодразделение ТОГДА
	|		ЗатратыНаВыпуск.Подразделение
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	КОНЕЦ КАК ПодразделениеСписанияНЗП,
	|
	|	Распределение.КорректировкаНЗП,
	|	Распределение.ОприходованиеНЗП,
	|	Распределение.ВозвратИзНЗП,
	|	
	|	ЕСТЬNULL(Распределение.ВстречныйВыпуск, Ложь) КАК ВстречныйВыпуск,
	|	ЕСТЬNULL(РегистрВстречныйВыпуск.ВстречныйВыпуск, Ложь) КАК ЗатратаВстречногоВыпуска,
	|	ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, Ложь) КАК ЕстьИсключаемаяНоменклатура,
	|	
	|	ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, Ложь) КАК ЕстьВыпускПродукции,
	|	
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ВременнаяРазница) КАК ВременнаяРазница,
	|	СУММА(ЗатратыНаВыпуск.Сумма) КАК Стоимость,
	|	СУММА(ЗатратыНаВыпуск.Количество) КАК Количество
	|	
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			МИНИМУМ(Распределение.КорректировкаНЗП) КАК КорректировкаНЗП,
	|			МИНИМУМ(Распределение.ОприходованиеНЗП) КАК ОприходованиеНЗП,
	|			МИНИМУМ(Распределение.ВозвратИзНЗП) КАК ВозвратИзНЗП,
	|			МИНИМУМ(Распределение.ВстречныйВыпуск) КАК ВстречныйВыпуск,
	|			
	|			Распределение.Подразделение,
	|			Распределение.НоменклатурнаяГруппа,
	|			Распределение.СтатьяЗатрат,
	|			Распределение.Затрата,
	|			Распределение.ХарактеристикаЗатраты,
	|			Распределение.СерияЗатраты
	|		ИЗ			
	|			РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК Распределение
	|		ГДЕ
	|			Распределение.Период МЕЖДУ &НачДата И &КонДата
	|			И Распределение.НомерПередела = &НомерПередела
	|			//ДляРеглУчета И Распределение.Организация = &Организация
	|			
	|		СГРУППИРОВАТЬ ПО
	|			Распределение.Подразделение,
	|			Распределение.НоменклатурнаяГруппа,
	|			Распределение.СтатьяЗатрат,
	|			Распределение.Затрата,
	|			Распределение.ХарактеристикаЗатраты,
	|			Распределение.СерияЗатраты
	|		) КАК Распределение
	|	ПО 
	|		ЗатратыНаВыпуск.Подразделение = Распределение.Подразделение
	|		И ЗатратыНаВыпуск.Затрата = Распределение.Затрата
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = Распределение.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты = Распределение.СерияЗатраты
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппа = Распределение.НоменклатурнаяГруппа
	|		И ЗатратыНаВыпуск.СтатьяЗатрат = Распределение.СтатьяЗатрат
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ВстречныйВыпускПродукции.Продукция,
	|			ВстречныйВыпускПродукции.Затрата,
	|			ВыпускПродукции.ХарактеристикаПродукции КАК ХарактеристикаЗатраты,
	|			ВыпускПродукции.СерияПродукции КАК СерияЗатраты,
	|			Истина КАК ВстречныйВыпуск
	|		ИЗ
	|			РегистрСведений.ВстречныйВыпускПродукцииУслуг.СрезПоследних(&КонДата, 
	|				) КАК ВстречныйВыпускПродукции
	|			
	|			ЛЕВОЕ СОЕДИНЕНИЕ (
	|				ВЫБРАТЬ РАЗЛИЧНЫЕ
	|					ВыпускПродукции.Продукция,
	|					ВыпускПродукции.ХарактеристикаПродукции,
	|					ВЫБОР КОГДА ВыпускПродукции.Продукция.ВестиУчетПоСериямВНЗП ТОГДА
	|						ВыпускПродукции.СерияПродукции
	|					ИНАЧЕ
	|						ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
	|					КОНЕЦ КАК СерияПродукции
	|				ИЗ
	|					РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|				ГДЕ
	|					ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|					И ВыпускПродукции.КодОперации <> ЗНАЧЕНИЕ(Перечисление.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости)
	|					//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|					
	|				) КАК ВыпускПродукции
	|			ПО
	|				ВстречныйВыпускПродукции.Затрата = ВыпускПродукции.Продукция
	|
	|		ГДЕ
	|			ВстречныйВыпускПродукции.СпособОценкиСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОценкиСтоимостиВстречногоВыпуска.ПоРасчетнойСтоимости)
	|			И Не ВыпускПродукции.Продукция ЕСТЬ NULL
	|
	|		) КАК РегистрВстречныйВыпуск
	|	ПО
	|		ЗатратыНаВыпуск.Продукция = РегистрВстречныйВыпуск.Продукция
	|		И ЗатратыНаВыпуск.Затрата = РегистрВстречныйВыпуск.Затрата
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = РегистрВстречныйВыпуск.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты = РегистрВстречныйВыпуск.СерияЗатраты
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ИсключаемаяНоменклатура.Номенклатура,
	|			ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры,
	|			ИсключаемаяНоменклатура.СерияНоменклатуры,
	|			Истина КАК ЕстьИсключаемаяНоменклатура
	|		ИЗ
	|			РегистрСведений.НоменклатураИсключаемаяИзБазыРаспределения%СуффиксОрганизаций% КАК ИсключаемаяНоменклатура
	|		ГДЕ
	|			ИсключаемаяНоменклатура.Период МЕЖДУ &НачДата И &КонДата
	|			И (&РасчетКосвенныхЗатрат ИЛИ &РасчетЗатратВстречногоВыпуска)
	|			//ДляРеглУчета И ИсключаемаяНоменклатура.Организация = &Организация
	|		) КАК ИсключаемаяНоменклатура
	|	ПО
	|		ЗатратыНаВыпуск.Продукция = ИсключаемаяНоменклатура.Номенклатура
	|		И ЗатратыНаВыпуск.ХарактеристикаПродукции = ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры
	|		И ЗатратыНаВыпуск.СерияПродукции = ИсключаемаяНоменклатура.СерияНоменклатуры
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ВыпускПродукции.Подразделение,
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВыпускПродукции.Спецификация,
	|			ВыпускПродукции.НоменклатурнаяГруппа,
	|			ВыпускПродукции.Заказ,
	|			//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|			ВыпускПродукции.Заказ,
	|			Истина КАК ЕстьВыпускПродукции
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ГДЕ
	|			ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|			И ВыпускПродукции.КодОперации <> &ВыпускПродукцииПоФиксированнойСтоимости
	|			//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|		
	|		) КАК ВыпускПродукции
	|	ПО
	|		ВыпускПродукции.Подразделение = ЗатратыНаВыпуск.Подразделение
	|	 	И ВыпускПродукции.НоменклатурнаяГруппа = ЗатратыНаВыпуск.НоменклатурнаяГруппа
	|	 	И ВыпускПродукции.Продукция = ЗатратыНаВыпуск.Продукция
	|	 	И ВыпускПродукции.ХарактеристикаПродукции = ЗатратыНаВыпуск.ХарактеристикаПродукции
	|	 	И ВыпускПродукции.СерияПродукции = ЗатратыНаВыпуск.СерияПродукции
	|	 	И ВыпускПродукции.Спецификация = ЗатратыНаВыпуск.Спецификация
	|		И ВыпускПродукции.Заказ = ЗатратыНаВыпуск.Заказ
	|	 	//ДляРеглУчета И ВыпускПродукции.СчетУчетаНЗП = ЗатратыНаВыпуск.СчетУчета
	|
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И ЗатратыНаВыпуск.КодОперации В (&КодыОпераций)
	|	
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|	//ДляНалУчета И ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат <> &СтатусМатериальныхЗатратПринятые
	|	//ДляНалУчета И ЗатратыНаВыпуск.СчетУчета <> &СчетЕН
	|	
	|	И ( (Распределение.КорректировкаНЗП
	|	     И ЗатратыНаВыпуск.КодОперации В (&КодыОперацииКорректировка))
	|	   ИЛИ (Не Распределение.КорректировкаНЗП
	|	    И Не ЗатратыНаВыпуск.КодОперации В (&КодыОперацииКорректировка)) )
	|	
	|	И ( (Распределение.ВозвратИзНЗП
	|	     И ЗатратыНаВыпуск.КодОперации В (&КодыОперацииВозврат))
	|	   ИЛИ (Не Распределение.ВозвратИзНЗП
	|	    И Не ЗатратыНаВыпуск.КодОперации В (&КодыОперацииВозврат)) )
	|	
	|	И ( (Распределение.ОприходованиеНЗП
	|	     И ЗатратыНаВыпуск.КодОперации В (&КодыОперацииОприходованиеНЗП))
	|	   ИЛИ (Не Распределение.ОприходованиеНЗП
	|	    И Не ЗатратыНаВыпуск.КодОперации В (&КодыОперацииОприходованиеНЗП)) )
	|	
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.Заказ,
	|	ЗатратыНаВыпуск.ДокументВыпуска,
	|	ЗатратыНаВыпуск.КодОперации,
	|	
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП = &ПустоеПодразделение ТОГДА
	|		ЗатратыНаВыпуск.Подразделение
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	КОНЕЦ,
	|
	|	Распределение.КорректировкаНЗП,
	|	Распределение.ОприходованиеНЗП,
	|	Распределение.ВозвратИзНЗП,
	|	
	|	ЕСТЬNULL(Распределение.ВстречныйВыпуск, Ложь),
	|	ЕСТЬNULL(РегистрВстречныйВыпуск.ВстречныйВыпуск, Ложь),
	|	ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, Ложь),
	|	
	|	ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, Ложь)
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ПодразделениеСписанияНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, Ложь) Убыв,
	|
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.Заказ,
	|	ЗатратыНаВыпуск.ДокументВыпуска,
	|	ЗатратыНаВыпуск.КодОперации
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоЗатратамНаВыпуск()
		// Процедура устанавливает параметры запроса по затратам на выпуск.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросПоЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента,
	СпособРасчета, 
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("СпособОценкиСтоимости", 	Перечисления.СпособыОценкиСтоимостиВстречногоВыпуска.ПоРасчетнойСтоимости);
			//Запрос.УстановитьПараметр("СтатусМатериальныхЗатратПринятые", Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку);
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//Запрос.УстановитьПараметр("ПустоеПодразделение", Справочники.Подразделения.ПустаяСсылка());
			}
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			//Запрос.УстановитьПараметр("ВыпускПродукцииПоФиксированнойСтоимости", Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//МассивКодыОпераций = Новый Массив;
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОпераций", МассивКодыОпераций);
			//МассивКодовОперацийКорректировка = Новый Массив;
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч);
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОперацииКорректировка", МассивКодовОперацийКорректировка);
			//МассивКодовОперацийКорректировка = Новый Массив;
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП);
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОперацииВозврат", МассивКодовОперацийКорректировка);
			//МассивКодовОперацийОприходованиеНЗП = Новый Массив;
			//МассивКодовОперацийОприходованиеНЗП.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП);
			//Запрос.УстановитьПараметр("КодыОперацииОприходованиеНЗП", МассивКодовОперацийОприходованиеНЗП);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//Запрос.УстановитьПараметр("СчетЕН", ПланыСчетов.Налоговый.РасходыПоДеятельностиЕНВД);
			}
		}
		// УстановитьПараметрыЗапросПоЗатратамНаВыпуск()
		// Функция формирует запрос по регистру "Затраты на выпуск".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по регистру "Затраты на выпуск".
		//

		public object СформироватьЗапросПоЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента,
	СпособРасчета
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоЗатратамНаВыпуск();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросПоЗатратамНаВыпуск(
		СтруктураШапкиДокумента,
		СпособРасчета,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоНезавершенномуПроизводству()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА СУММ СПИСАНИЯ ЗАТРАТ
		// Процедура выводить сообщение о превышении количества остатка в НЗП.
		//
		// Параметры
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	КоличествоСписано - Число - Количество затрат списания на выпуск
		//	КоличествоОстаток - Число - Остаток затрат в незавершенном производстве
		//

		public void ВывестиСообщениеОПревышенииКоличестваОстаткаНЗП(/*
	СтрокаВыборки,
	КоличествоСписано,
	КоличествоОстаток
	*/)
		{
			//РасшифровкаСообщения = УправлениеЗатратами.СформироватьРасшифровкуОткрытияОтчета("АнализРаспределенияПроизводственныхЗатрат");
			/*// Заголовок
*/
			/*РасшифровкаСообщения
	);*/
		}
		// ВывестиСообщениеОПревышенииКоличестваОстаткаНЗП()
		// Процедура выводить сообщение о превышении суммы остатка в НЗП.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	СуммаСписано - Число - Сумма затрат списания на выпуск
		//	СуммаОстаток - Число - Сумма остаток затрат в незавершенном производстве
		//	ПостояннаяРазницаОстаток - Число - Сумма остаток затрат в незавершенном производстве в части постоянной разницы
		//	ВременнаяРазницаОстаток - Число - Сумма остаток затрат в незавершенном производстве в части временной разницы
		//

		public void ВывестиСообщениеОПревышенииСуммыОстаткаНЗП(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаСписано,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток
	*/)
		{
			//РасшифровкаСообщения = УправлениеЗатратами.СформироватьРасшифровкуОткрытияОтчета("АнализРаспределенияПроизводственныхЗатрат");
			/*// Заголовок
*/
			/*РасшифровкаСообщения
	);*/
		}
		// ВывестиСообщениеОПревышенииСуммыОстаткаНЗП()
		// Процедура рассчитывает суммы корректировки операций по фиксированной стоимости,
		// если на конец месяца остался суммовой остаток в незавершенном производстве.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	КоличествоНЗП - Число - Количество остаток незавершенного производства
		//	СуммаНЗП - Число - Сумма остаток незавершенного производства
		//	ПостояннаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части постоянной разницы
		//	ВременнаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части временной разницы
		//
		// Выходные параметры
		//	СуммаЗатрат - Число - Сумма для отражения в затратах на выпуск
		//	СуммаЗатратПостояннаяРазница - Число - Сумма для отражения в затратах на выпуск в части постоянной разницы
		//	СуммаЗатратВременнаяРазница - Число - Сумма для отражения в затратах на выпуск в части временной разницы
		//	СписатьСуммаИзНЗП - Число - Сумма списания из незавершенного производства
		//	СписатьПостояннаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части постоянной разницы
		//	СписатьВременнаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части временной разницы
		//

		public void РассчитатьСуммыКорректировкиФиксированнойСтоимости(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	КоличествоНЗП,
	СуммаНЗП,
	ПостояннаяРазницаНЗП,
	ВременнаяРазницаНЗП,
	СуммаЗатрат,
	СуммаЗатратПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СписатьСуммаИзНЗП,
	СписатьПостояннаяРазницаИзНЗП,
	СписатьВременнаяРазницаИзНЗП
	*/)
		{
			if(true/*СуммаНЗП <> 0 И КоличествоНЗП = 0*/)
			{
				/*ОбщегоНазначения.Сообщение("Обнаружен суммовой остаток незавершенного производства.
			|Необходимо скорректировать сумму операции по фиксированной стоимости:
			|Подразделение: " + СтрокаВыборки.Подразделение + "
			|Номенклатурная группа: " + СтрокаВыборки.НоменклатурнаяГруппа + "
			|Статья затрат: " + СтрокаВыборки.СтатьяЗатрат + "
			|Затрата: " + СтрокаВыборки.Затрата + ", " 
				+ СтрокаВыборки.ХарактеристикаЗатраты + ", " + СтрокаВыборки.СерияЗатраты + "
			|Заказ: " + СтрокаВыборки.Заказ + "
			|Код операции: " + СтрокаВыборки.КодОперации + "
			|Сумма корректировки: " + СуммаНЗП + "
			|", СтатусСообщения.Важное);*/
			}
		}
		// РассчитатьСуммыКорректировкиФиксированнойСтоимости()
		// Процедура рассчитывает суммы корректировки оприходования НЗП.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	КоличествоНЗП - Число - Количество остаток незавершенного производства
		//	СуммаНЗП - Число - Сумма остаток незавершенного производства
		//	ПостояннаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части постоянной разницы
		//	ВременнаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части временной разницы
		//
		// Выходные параметры
		//	СуммаЗатрат - Число - Сумма для отражения в затратах на выпуск
		//	СуммаЗатратПостояннаяРазница - Число - Сумма для отражения в затратах на выпуск в части постоянной разницы
		//	СуммаЗатратВременнаяРазница - Число - Сумма для отражения в затратах на выпуск в части временной разницы
		//

		public void РассчитатьСуммыКорректировкиОприходованияНЗП(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	КоличествоНЗП,
	СуммаНЗП,
	ПостояннаяРазницаНЗП,
	ВременнаяРазницаНЗП,
	СуммаЗатрат,
	СуммаЗатратПостояннаяРазница,
	СуммаЗатратВременнаяРазница
	*/)
		{
			//СписаноКол = СтрокаВыборки.Количество;
			if(true/*КоличествоНЗП <> 0*/)
			{
				//СуммаЗатрат = Окр(СписаноКол * СуммаНЗП / КоличествоНЗП, 2, 1) - СтрокаВыборки.Стоимость;
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ОбщаяСуммаНЗП = СуммаНЗП + ПостояннаяРазницаНЗП + ВременнаяРазницаНЗП;
				if(true/*КоличествоНЗП <> 0*/)
				{
					//СуммаЗатратПостояннаяРазница = Окр(СписаноКол * ПостояннаяРазницаНЗП / КоличествоНЗП, 2, 1) - СтрокаВыборки.ПостояннаяРазница;
					//СуммаЗатратВременнаяРазница = Окр(СписаноКол * ВременнаяРазницаНЗП / КоличествоНЗП, 2, 1) - СтрокаВыборки.ВременнаяРазница;
					/*ОбщаяСуммаЗатрат = Окр(СписаноКол * ОбщаяСуммаНЗП / КоличествоНЗП, 2, 1)
				- (СтрокаВыборки.Стоимость + СтрокаВыборки.ПостояннаяРазница + СтрокаВыборки.ВременнаяРазница);*/
				}
				/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
				if(true/*СуммаЗатрат + СуммаЗатратПостояннаяРазница + СуммаЗатратВременнаяРазница <> ОбщаяСуммаЗатрат*/)
				{
					if(true/*СуммаЗатратВременнаяРазница <> 0*/)
					{
						//СуммаЗатратВременнаяРазница = ОбщаяСуммаЗатрат - (СуммаЗатрат + СуммаЗатратПостояннаяРазница);
					}
				}
			}
		}
		// РассчитатьСуммыКорректировкиОприходованияНЗП()
		// Процедура рассчитывает суммы списания материальных затрат.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	КоличествоНЗП - Число - Количество остаток незавершенного производства
		//	СуммаНЗП - Число - Сумма остаток незавершенного производства
		//	ПостояннаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части постоянной разницы
		//	ВременнаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части временной разницы
		//	ОбщаяСуммаНЗП - Число - Общая сумма остатка незавершенного производства
		//	КоличествоЗатратНаВыпуск - Число - Количество затрат на выпуск продукции
		//	РасчетКосвенныхЗатрат - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//
		// Выходные параметры
		//	СуммаЗатрат - Число - Сумма для отражения в затратах на выпуск
		//	СуммаЗатратПостояннаяРазница - Число - Сумма для отражения в затратах на выпуск в части постоянной разницы
		//	СуммаЗатратВременнаяРазница - Число - Сумма для отражения в затратах на выпуск в части временной разницы
		//	СписатьКоличествоИзНЗП - Число - Количество списания из незавершенного производства
		//	СписатьСуммаИзНЗП - Число - Сумма списания из незавершенного производства
		//	СписатьПостояннаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части постоянной разницы
		//	СписатьВременнаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части временной разницы
		//

		public void РассчитатьСуммыСписанияМатериальныхЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	КоличествоНЗП,
	СуммаНЗП,
	ПостояннаяРазницаНЗП,
	ВременнаяРазницаНЗП,
	ОбщаяСуммаНЗП,
	КоличествоЗатратНаВыпуск,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	СуммаЗатрат,
	СуммаЗатратПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СписатьКоличествоИзНЗП,
	СписатьСуммаИзНЗП,
	СписатьПостояннаяРазницаИзНЗП,
	СписатьВременнаяРазницаИзНЗП
	*/)
		{
			//СписаноКол = СтрокаВыборки.Количество;
			if(true/*СтрокаВыборки.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ВозвратныеОтходы*/)
			{
				//Знак = - 1;
			}
			//СуммаЗатрат = 0;
			//СуммаЗатратПостояннаяРазница = 0;
			//СуммаЗатратВременнаяРазница = 0;
			//СписатьКоличествоИзНЗП = 0;
			//СписатьСуммаИзНЗП = 0;
			//СписатьПостояннаяРазницаИзНЗП = 0;
			//СписатьВременнаяРазницаИзНЗП = 0;
			if(true/*СписаноКол = 0*/)
			{
			}
			if(true/*Знак * КоличествоНЗП <= Знак * СписаноКол*/)
			{
				if(true/*(Знак * КоличествоНЗП < Знак * СписаноКол)
		   И Не РасчетКосвенныхЗатрат
		   И (Не РасчетЗатратВстречногоВыпуска
		   	ИЛИ РасчетЗатратВстречногоВыпуска И СтрокаВыборки.ЗатратаВстречногоВыпуска)*/)
				{
					/*ВывестиСообщениеОПревышенииКоличестваОстаткаНЗП(
				СтрокаВыборки,
				(Знак * СписаноКол),
				(Знак * КоличествоНЗП)
				);*/
				}
				if(true/*КоличествоНЗП = 0*/)
				{
				}
				//СписаноКол = КоличествоНЗП;
				//СуммаЗатрат = СуммаНЗП;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//СуммаЗатратПостояннаяРазница = ПостояннаяРазницаНЗП;
					//СуммаЗатратВременнаяРазница = ВременнаяРазницаНЗП;
					//СписатьПостояннаяРазницаИзНЗП = ПостояннаяРазницаНЗП;
					//СписатьВременнаяРазницаИзНЗП = СуммаЗатратВременнаяРазница;
				}
				//СписатьКоличествоИзНЗП = КоличествоНЗП;
				//СписатьСуммаИзНЗП = СуммаЗатрат;
			}
		}
		// РассчитатьСуммыСписанияМатериальныхЗатрат()
		// Процедура рассчитывает суммы списания материальных затрат.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	КодыОперацийФиксСтоимость - Соответствие - Соответствие кода операции и операции по фиксированной стоимости
		//	КоличествоНЗП - Число - Количество остаток незавершенного производства
		//	СуммаНЗП - Число - Сумма остаток незавершенного производства
		//	ПостояннаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части постоянной разницы
		//	ВременнаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части временной разницы
		//	ОбщаяСуммаНЗП - Число - Общая сумма остатка незавершенного производства
		//	КоличествоЗатратНаВыпуск - Число - Количество затрат на выпуск продукции
		//	РасчетКосвенныхЗатрат - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//
		// Выходные параметры
		//	СуммаЗатрат - Число - Сумма для отражения в затратах на выпуск
		//	СуммаЗатратПостояннаяРазница - Число - Сумма для отражения в затратах на выпуск в части постоянной разницы
		//	СуммаЗатратВременнаяРазница - Число - Сумма для отражения в затратах на выпуск в части временной разницы
		//	СписатьСуммаИзНЗП - Число - Сумма списания из незавершенного производства
		//	СписатьПостояннаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части постоянной разницы
		//	СписатьВременнаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части временной разницы
		//

		public void РассчитатьСуммыСписанияИКорректировкиМатериальныхЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	КодыОперацийФиксСтоимость,
	КоличествоНЗП,
	СуммаНЗП,
	ПостояннаяРазницаНЗП,
	ВременнаяРазницаНЗП,
	ОбщаяСуммаНЗП,
	КоличествоЗатратНаВыпуск,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	СуммаЗатрат,
	СуммаЗатратПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СписатьКоличествоИзНЗП,
	СписатьСуммаИзНЗП,
	СписатьПостояннаяРазницаИзНЗП,
	СписатьВременнаяРазницаИзНЗП
	*/)
		{
			if(true/*КодыОперацийФиксСтоимость.Получить(СтрокаВыборки.КодОперации) <> Неопределено*/)
			{
				//ЭтоКодОперацииФиксСтоимость = Истина;
			}
			//СуммаЗатрат = 0;
			//СуммаЗатратПостояннаяРазница = 0;
			//СуммаЗатратВременнаяРазница = 0;
			//СписатьКоличествоИзНЗП = 0;
			//СписатьСуммаИзНЗП = 0;
			//СписатьПостояннаяРазницаИзНЗП = 0;
			//СписатьВременнаяРазницаИзНЗП = 0;
			if(true/*ЭтоКодОперацииФиксСтоимость*/)
			{
				if(true/*Не РасчетКосвенныхЗатрат 
		   И Не РасчетЗатратВстречногоВыпуска*/)
				{
					/*РассчитатьСуммыКорректировкиФиксированнойСтоимости(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				КоличествоНЗП,
				СуммаНЗП,
				ПостояннаяРазницаНЗП,
				ВременнаяРазницаНЗП,
				СуммаЗатрат,
				СуммаЗатратПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				СписатьСуммаИзНЗП,
				СписатьПостояннаяРазницаИзНЗП,
				СписатьВременнаяРазницаИзНЗП
			);*/
				}
			}
			//СписаноКол = СтрокаВыборки.Количество;
			if(true/*Не ЭтоКодОперацииФиксСтоимость 
	   И Не СтрокаВыборки.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП*/)
			{
				//КоличествоНЗП = КоличествоНЗП - СписатьКоличествоИзНЗП;
				//СуммаНЗП = СуммаНЗП - СписатьСуммаИзНЗП;
				//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - СписатьСуммаИзНЗП;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - СписатьПостояннаяРазницаИзНЗП;
					//ВременнаяРазницаНЗП  = ВременнаяРазницаНЗП - СписатьВременнаяРазницаИзНЗП;
					//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - СписатьПостояннаяРазницаИзНЗП - СписатьВременнаяРазницаИзНЗП;
				}
			}
			if(true/*Не РасчетЗатратВстречногоВыпуска И Не РасчетКосвенныхЗатрат 
	   И Не ЭтоКодОперацииФиксСтоимость
	   И Не СтрокаВыборки.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП*/)
			{
				//СуммаЗатрат = СуммаЗатрат - СтрокаВыборки.Стоимость;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//СуммаЗатратПостояннаяРазница = СуммаЗатратПостояннаяРазница - СтрокаВыборки.ПостояннаяРазница;
					//СуммаЗатратВременнаяРазница = СуммаЗатратВременнаяРазница - СтрокаВыборки.ВременнаяРазница;
				}
			}
		}
		// РассчитатьСуммыСписанияИКорректировкиМатериальныхЗатрат()
		// Процедура рассчитывает суммы списания нематериальных затрат.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	СуммаНЗП - Число - Сумма остаток незавершенного производства
		//	ПостояннаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части постоянной разницы
		//	ВременнаяРазницаНЗП - Число - Сумма остаток незавершенного производства в части временной разницы
		//	ОбщаяСуммаНЗП - Число - Общая сумма остатка незавершенного производства
		//	СуммаЗатратНаВыпуск - Число - Сумма затрат на выпуск продукции, отраженная в документах распределения
		//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//
		// Выходные параметры
		//	СуммаЗатрат - Число - Сумма для отражения в затратах на выпуск
		//	СуммаЗатратПостояннаяРазница - Число - Сумма для отражения в затратах на выпуск в части постоянной разницы
		//	СуммаЗатратВременнаяРазница - Число - Сумма для отражения в затратах на выпуск в части временной разницы
		//	СписатьСуммаИзНЗП - Число - Сумма списания из незавершенного производства
		//	СписатьПостояннаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части постоянной разницы
		//	СписатьВременнаяРазницаИзНЗП - Число - Сумма списания из незавершенного производства в части временной разницы
		//

		public void РассчитатьСуммыСписанияНематериальныхЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаНЗП,
	ПостояннаяРазницаНЗП,
	ВременнаяРазницаНЗП,
	ОбщаяСуммаНЗП,
	СуммаЗатратНаВыпуск,
	РасчетЗатратВстречногоВыпуска,
	СуммаЗатрат,
	СуммаЗатратПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СписатьСуммаИзНЗП,
	СписатьПостояннаяРазницаИзНЗП,
	СписатьВременнаяРазницаИзНЗП
	*/)
		{
			if(true/*Не РасчетЗатратВстречногоВыпуска И СтрокаВыборки.ЗатратаВстречногоВыпуска
	 ИЛИ РасчетЗатратВстречногоВыпуска И Не СтрокаВыборки.ЗатратаВстречногоВыпуска*/)
			{
			}
			//ОбщаяСтоимость = СтрокаВыборки.Стоимость;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				/*ОбщаяСтоимость = ОбщаяСтоимость 
			+ СтрокаВыборки.ПостояннаяРазница
			+ СтрокаВыборки.ВременнаяРазница;*/
			}
			//Знак = ?(ОбщаяСтоимость < 0, - 1, 1);
			if(true/*Знак * ОбщаяСтоимость > Знак * (СуммаНЗП + ВременнаяРазницаНЗП + ПостояннаяРазницаНЗП)*/)
			{
				/*ВывестиСообщениеОПревышенииСуммыОстаткаНЗП(
			СтруктураШапкиДокумента,
			СтрокаВыборки,
			ОбщаяСтоимость,
			СуммаНЗП,
			ПостояннаяРазницаНЗП,
			ВременнаяРазницаНЗП
		);*/
			}
			if(true/*Знак * ОбщаяСтоимость >= Знак *(СуммаНЗП + ВременнаяРазницаНЗП + ПостояннаяРазницаНЗП)
	   И ОбщаяСтоимость <> 0*/)
			{
				//СуммаЗатрат = СуммаНЗП;
				//СписатьСуммаИзНЗП = СуммаНЗП;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//СуммаЗатратПостояннаяРазница = ПостояннаяРазницаНЗП;
					//СуммаЗатратВременнаяРазница = ВременнаяРазницаНЗП;
					//СписатьПостояннаяРазницаИзНЗП = ПостояннаяРазницаНЗП;
					//СписатьВременнаяРазницаИзНЗП = ВременнаяРазницаНЗП;
				}
			}
			//СуммаЗатратНаВыпуск = СуммаЗатратНаВыпуск - ОбщаяСтоимость;
			//СуммаЗатрат = СуммаЗатрат - СтрокаВыборки.Стоимость;
			//СуммаНЗП = СуммаНЗП - СписатьСуммаИзНЗП;
			//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - СписатьСуммаИзНЗП;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//СуммаЗатратПостояннаяРазница = СуммаЗатратПостояннаяРазница - СтрокаВыборки.ПостояннаяРазница;
				//СуммаЗатратВременнаяРазница = СуммаЗатратВременнаяРазница - СтрокаВыборки.ВременнаяРазница;
				//ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - СписатьПостояннаяРазницаИзНЗП;
				//ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - СписатьВременнаяРазницаИзНЗП;
				//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - СписатьПостояннаяРазницаИзНЗП - СписатьВременнаяРазницаИзНЗП;
			}
		}
		// РассчитатьСуммыСписанияНематериальныхЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ СПИСАНИЯ ЗАТРАТ НА ВЫПУСК ПРОДУКЦИИ
		// Функция получения массива затрат, рассчитываемых на текущем переделе.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	НомерПередела - Число - Текущий номер передела
		//
		// Возвращаемое значение:
		//	Массив - Массив затрат
		//

		public object ПолучитьМассивЗатрат(/*
	СтруктураШапкиДокумента,
	НомерПередела
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РаспределениеЗатрат.Затрата
	|ИЗ			
	|	РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК РаспределениеЗатрат
	|ГДЕ
	|	РаспределениеЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И РаспределениеЗатрат.НомерПередела = &НомерПередела
	|	//ДляРеглУчета И РаспределениеЗатрат.Организация = &Организация
	|";*/
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("НомерПередела", НомерПередела);
			//ТаблицаЗатрат = Запрос.Выполнить().Выгрузить();
			//МассивЗатрат = ТаблицаЗатрат.ВыгрузитьКолонку("Затрата");
			return null;
		}
		// ПолучитьМассивЗатрат()
		// Функция получает структуру поиска строк результата запроса по затратам на выпуск.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса по незавершенному производству
		//
		// Возвращаемое значение:
		//	Структура - Структура поиска
		//

		public object ПолучитьСтруктуруПоискаСтрокЗатратНаВыпуск(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки
	*/)
		{
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("ПодразделениеСписанияНЗП", СтрокаВыборки.Подразделение);
			//СтруктураПоиска.Вставить("НоменклатурнаяГруппаНЗП", СтрокаВыборки.НоменклатурнаяГруппа);
			//СтруктураПоиска.Вставить("ЗаказНЗП", СтрокаВыборки.Заказ);
			//СтруктураПоиска.Вставить("СтатьяЗатрат", СтрокаВыборки.СтатьяЗатрат);
			//СтруктураПоиска.Вставить("Затрата", СтрокаВыборки.Затрата);
			//СтруктураПоиска.Вставить("ХарактеристикаЗатраты", СтрокаВыборки.ХарактеристикаЗатраты);
			if(true/*СтрокаВыборки.ВестиУчетПоСериямВНЗП*/)
			{
				//СтруктураПоиска.Вставить("СерияЗатраты", СтрокаВыборки.СерияЗатраты);
			}
			if(true/*(СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)
	   И СтрокаВыборки.СтатусМатериальныхЗатрат <> Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку*/)
			{
				//СтруктураПоиска.Вставить("СчетУчета", СтрокаВыборки.СчетУчета);
			}
			return null;
		}
		// ПолучитьСтруктуруПоискаСтрокЗатратНаВыпуск()
		// Функция получает построитель запроса по затратам на выпуск.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратамНаВыпуск - РезультатЗапроса - Результат выполнения запроса по затратам на выпуск
		//
		// Возвращаемое значение:
		//	ПостроительЗапроса - построитель запроса.
		//

		public object ПолучитьПостроительЗапросаПоЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратамНаВыпуск
	*/)
		{
			//ПостроительЗапроса = Новый ПостроительЗапроса();
			//ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапросаПоЗатратамНаВыпуск);
			//ПостроительЗапроса.Отбор.Добавить("ПодразделениеСписанияНЗП");
			//ПостроительЗапроса.Отбор.Добавить("НоменклатурнаяГруппаНЗП");
			//ПостроительЗапроса.Отбор.ПодразделениеСписанияНЗП.Использование = Истина;
			//ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Использование = Истина;
			return null;
		}
		// ПолучитьПостроительЗапросаПоЗатратамНаВыпуск()
		// Функция проверяет отбор и устанавливает параметры отбора построителя запроса по затратам на выпуск.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//
		// Выходные параметры
		//	ПостроительЗапроса - ПостроительЗапроса - построитель запроса.
		//
		// Возвращаемое значение:
		//	Булево - Истина - установлен новый отбор,
		//			 Ложь - значения отбора не изменились.
		//

		public object ПроверитьИУстановитьОтборПостроителяЗапросаПоЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ПостроительЗапроса
	*/)
		{
			//ОтборСоответствуетАналитике = Ложь;
			if(true/*ПостроительЗапроса.Отбор.ПодразделениеСписанияНЗП.Значение = СтрокаВыборки.Подразделение
	   И ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Значение = СтрокаВыборки.НоменклатурнаяГруппа*/)
			{
				//ОтборСоответствуетАналитике = Истина;
			}
			if(true/*Не ОтборСоответствуетАналитике*/)
			{
				//ПостроительЗапроса.Отбор.ПодразделениеСписанияНЗП.Значение = СтрокаВыборки.Подразделение;
				//ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Значение = СтрокаВыборки.НоменклатурнаяГруппа;
			}
			return null;
		}
		// ПроверитьИУстановитьОтборПостроителяЗапросаПоЗатратамНаВыпуск()
		// Процедура распределения затрат из незавершенного производства за выпуск продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоНезавершенномуПроизводству - РезультатЗапроса - Результат выполнения запроса по незавершенному производству
		//  РезультатЗапросаПоЗатратамНаВыпуск - РезультатЗапроса - Результат запроса по затратам на выпуск
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	РасчетКосвенныхЗатрат - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатратыНаВыпуск - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск продукции"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоНезавершенномуПроизводству,
	РезультатЗапросаПоЗатратамНаВыпуск,
	НомерПередела,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			//КодыОперацийФиксСтоимость = Новый Соответствие;
			//КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс, Истина);
			//КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс, Истина);
			//КодыОперацийФиксСтоимость.Вставить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс, Истина);
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоЗатратамНаВыпуск(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоЗатратамНаВыпуск
		);*/
			//ВыборкаПоЗатратам = РезультатЗапросаПоНезавершенномуПроизводству.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//КоличествоЗатратНаВыпуск = ВыборкаПоЗатратам.Количество;
				//СуммаЗатратНаВыпуск = ВыборкаПоЗатратам.Стоимость;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					/*СуммаЗатратНаВыпуск = СуммаЗатратНаВыпуск 
				+ ВыборкаПоЗатратам.ПостояннаяРазница
				+ ВыборкаПоЗатратам.ВременнаяРазница;*/
				}
				//КоличествоНЗП = ВыборкаПоЗатратам.КоличествоОстаток;
				//СуммаНЗП = ВыборкаПоЗатратам.СтоимостьОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаНЗП = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаНЗП = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				//ОбщаяСуммаНЗП = СуммаНЗП + ПостояннаяРазницаНЗП + ВременнаяРазницаНЗП;
				/*// Отберем строки затрат на выпуск.
*/
				/*УстановленНовыйОтбор = ПроверитьИУстановитьОтборПостроителяЗапросаПоЗатратамНаВыпуск(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ПостроительЗапроса
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапроса.Выполнить();
				}
				//РезультатЗапросаПоЗатратамНаВыпуск = ПостроительЗапроса.Результат;
				/*// Выберем выпуск продукции с направлениями списания.
*/
				/*СтруктураПоиска = ПолучитьСтруктуруПоискаСтрокЗатратНаВыпуск(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам
			);*/
				//СписатьКоличествоИзНЗП = 0;
				//СписатьСуммаИзНЗП = 0;
				//СписатьПостояннаяРазницаИзНЗП = 0;
				//СписатьВременнаяРазницаИзНЗП = 0;
				//ВсегоЗатратыНаВыпуск = 0;
				//ВсегоЗатратыНаВыпускПостояннаяРазница = 0;
				//ВсегоЗатратыНаВыпускВременнаяРазница = 0;
				//ВыборкаПоЗатратамНаВыпуск = РезультатЗапросаПоЗатратамНаВыпуск.Выбрать();
				while(true/*ВыборкаПоЗатратамНаВыпуск.НайтиСледующий(СтруктураПоиска)*/)
				{
					if(true/*ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска 
			   И Не ВыборкаПоЗатратамНаВыпуск.ВстречныйВыпуск*/)
					{
					}
					/*// Пропускаем записи по которым нет выпуска продукции.
*/
					if(true/*Не ВыборкаПоЗатратамНаВыпуск.ЕстьВыпускПродукции*/)
					{
					}
					//ВсегоЗатратыНаВыпуск = ВсегоЗатратыНаВыпуск + ВыборкаПоЗатратамНаВыпуск.Стоимость;
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//ВсегоЗатратыНаВыпускПостояннаяРазница = ВсегоЗатратыНаВыпускПостояннаяРазница + ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
						//ВсегоЗатратыНаВыпускВременнаяРазница = ВсегоЗатратыНаВыпускВременнаяРазница + ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
					}
					//СуммаЗатрат = 0;
					//СуммаЗатратПостояннаяРазница = 0;
					//СуммаЗатратВременнаяРазница = 0;
					//КоличествоИзНЗП = 0;
					//СуммаИзНЗП = 0;
					//ПостояннаяРазницаИзНЗП = 0;
					//ВременнаяРазницаИзНЗП = 0;
					/*// Если производится списание затрат на продукцию, исключаемую из базы распределения,
*/
					/*// стоимость такой продукции не корректируем. 
*/
					if(true/*ВыборкаПоЗатратамНаВыпуск.ЕстьИсключаемаяНоменклатура 
			   И (РасчетКосвенныхЗатрат ИЛИ РасчетЗатратВстречногоВыпуска)*/)
					{
						//КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
						//СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
						//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
						if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
						{
							//ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
							//ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
							/*ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
						- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;*/
						}
					}
					if(true/*ВыборкаПоЗатратамНаВыпуск.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП
			   И Не РасчетЗатратВстречногоВыпуска*/)
					{
						//КоличествоНЗП = КоличествоНЗП - ВыборкаПоЗатратамНаВыпуск.Количество;
						//СуммаНЗП = СуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
						//ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.Стоимость;
						if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
						{
							//ВременнаяРазницаНЗП = ВременнаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница;
							//ПостояннаяРазницаНЗП = ПостояннаяРазницаНЗП - ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;
							/*ОбщаяСуммаНЗП = ОбщаяСуммаНЗП - ВыборкаПоЗатратамНаВыпуск.ВременнаяРазница
						- ВыборкаПоЗатратамНаВыпуск.ПостояннаяРазница;*/
						}
					}
					if(true/*ВыборкаПоЗатратам.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные*/)
					{
						/*РассчитатьСуммыСписанияИКорректировкиМатериальныхЗатрат(
					СтруктураШапкиДокумента,
					ВыборкаПоЗатратамНаВыпуск,
					КодыОперацийФиксСтоимость,
					КоличествоНЗП,
					СуммаНЗП,
					ПостояннаяРазницаНЗП,
					ВременнаяРазницаНЗП,
					ОбщаяСуммаНЗП,
					КоличествоЗатратНаВыпуск,
					РасчетКосвенныхЗатрат,
					РасчетЗатратВстречногоВыпуска,
					СуммаЗатрат,
					СуммаЗатратПостояннаяРазница,
					СуммаЗатратВременнаяРазница,
					КоличествоИзНЗП,
					СуммаИзНЗП,
					ПостояннаяРазницаИзНЗП,
					ВременнаяРазницаИзНЗП
					);*/
						/*// Расчет сумм списания для нематериальных затрат.		
*/
					}
					if(true/*Не РасчетЗатратВстречногоВыпуска И ВыборкаПоЗатратамНаВыпуск.ЗатратаВстречногоВыпуска*/)
					{
						//СуммаЗатрат = 0;
					}
					//СписатьКоличествоИзНЗП = СписатьКоличествоИзНЗП + КоличествоИзНЗП;
					//СписатьСуммаИзНЗП = СписатьСуммаИзНЗП + СуммаИзНЗП;
					//СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП + ПостояннаяРазницаИзНЗП;
					//СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП + ВременнаяРазницаИзНЗП;
					//ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
					/*// Формирование движений по регистру "Затраты на выпуск".
*/
					/*// РаспределениеЗатратПоБазе,
*/
					/*// КосвенныеЗатраты,
*/
					/*// ЗатратыВстречногоВыпуска,
*/
					/*// Количество
*/
					/*СуммаЗатрат,
				СуммаЗатратПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				НаборЗаписейЗатратыНаВыпуск
			);*/
					/*// Формирование движений по регистру бухгалтерии.	
*/
					if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
			   И ВыборкаПоЗатратам.СтатусМатериальныхЗатрат <> Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
			   И (ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппа <> ВыборкаПоЗатратамНаВыпуск.НоменклатурнаяГруппаНЗП
					ИЛИ ВыборкаПоЗатратамНаВыпуск.Подразделение <> ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП 
					И ЗначениеЗаполнено(ВыборкаПоЗатратамНаВыпуск.ПодразделениеНЗП))*/)
					{
						/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					СтруктураШапкиДокумента.ВидОтраженияВУчете,
					ВыборкаПоЗатратам,
					ВыборкаПоЗатратамНаВыпуск,
					ВыборкаПоЗатратам.СтатьяЗатрат,
					Перечисления.ХарактерЗатрат.ПроизводственныеРасходы,
					СуммаИзНЗП,
					ПостояннаяРазницаИзНЗП,
					ВременнаяРазницаИзНЗП,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
				}
				if(true/*РасчетЗатратВстречногоВыпуска
		   И СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска
		   И ВыборкаПоЗатратам.ВстречныйВыпуск*/)
				{
					if(true/*ВыборкаПоЗатратам.КоличествоРасход <> 0*/)
					{
						//СписатьКоличествоИзНЗП = 0;
						//СписатьСуммаИзНЗП = СписатьСуммаИзНЗП - ВсегоЗатратыНаВыпуск;
						if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
						{
							//СписатьПостояннаяРазницаИзНЗП = СписатьПостояннаяРазницаИзНЗП - ВсегоЗатратыНаВыпускПостояннаяРазница;
							//СписатьВременнаяРазницаИзНЗП = СписатьВременнаяРазницаИзНЗП - ВсегоЗатратыНаВыпускВременнаяРазница;
						}
					}
				}
				/*// Формирование движений по регистру "Незавершенное производство".
*/
				/*// ХарактерЗатрат,
*/
				/*ВыборкаПоЗатратам.Затрата,
			ВыборкаПоЗатратам.ХарактеристикаЗатраты,
			ВыборкаПоЗатратам.СерияЗатраты,
			НомерПередела,
			СписатьКоличествоИзНЗП,
			СписатьСуммаИзНЗП,
			СписатьПостояннаяРазницаИзНЗП,
			СписатьВременнаяРазницаИзНЗП,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейНезавершенноеПроизводство
			);*/
			}
			//;;
		}
		// РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции()
		// Процедура списания затрат из незавершенного производства на выпуск продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ЗапросПоНезавершенномуПроизводству - Запрос - Запрос по незавершенному производству
		//  ЗапросПоЗатратамНаВыпуск - Запрос - Запрос по затратам на выпуск
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	РасчетКосвенныхЗатрат - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	РасчетЗатратВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//  СтруктураДвижений - Структура - Наборы движений по регистрам
		//

		public void СписаниеЗатратИзНезавершенногоПроизводстваНаВыпускПродукции(/*
	СтруктураШапкиДокумента,
	ЗапросПоНезавершенномуПроизводству,
	ЗапросПоЗатратамНаВыпуск,
	НомерПередела,
	РасчетКосвенныхЗатрат,
	РасчетЗатратВстречногоВыпуска,
	СтруктураДвижений
	*/)
		{
			/*МассивЗатрат = ПолучитьМассивЗатрат(
		СтруктураШапкиДокумента,
		НомерПередела
		);*/
			//ЗапросПоНезавершенномуПроизводству.УстановитьПараметр("НомерПередела", НомерПередела);
			//ЗапросПоНезавершенномуПроизводству.УстановитьПараметр("МассивЗатрат",  МассивЗатрат);
			//РезультатЗапросаПоНезавершенномуПроизводству = ЗапросПоНезавершенномуПроизводству.Выполнить();
			//ЗапросПоЗатратамНаВыпуск.УстановитьПараметр("НомерПередела", НомерПередела);
			//ЗапросПоЗатратамНаВыпуск.УстановитьПараметр("МассивЗатрат",  МассивЗатрат);
			//ЗапросПоЗатратамНаВыпуск.УстановитьПараметр("РасчетКосвенныхЗатрат", РасчетКосвенныхЗатрат);
			//ЗапросПоЗатратамНаВыпуск.УстановитьПараметр("РасчетЗатратВстречногоВыпуска", РасчетЗатратВстречногоВыпуска);
			//РезультатЗапросаПоЗатратамНаВыпуск = ЗапросПоЗатратамНаВыпуск.Выполнить();
			if(true/*Не РезультатЗапросаПоНезавершенномуПроизводству.Пустой()
	   И Не РезультатЗапросаПоЗатратамНаВыпуск.Пустой()*/)
			{
				/*РаспределитьЗатратыИзНезавершенногоПроизводстваНаВыпускПродукции(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоНезавершенномуПроизводству,
			РезультатЗапросаПоЗатратамНаВыпуск,
			НомерПередела,
			РасчетКосвенныхЗатрат,
			РасчетЗатратВстречногоВыпуска,
			СтруктураДвижений.ДвиженияНЗП,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.Операция
		);*/
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// СписаниеЗатратИзНезавершенногоПроизводстваНаВыпускПродукции()
		// Процедура определения начального и конечного номера передела.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Выходные параметры
		//	НачальныйПередел - Число - Начальный номер передела
		//	КонечныйПередел - Число - Конечный номер передела
		//	ВсегоПеределов - Число - Максимальный номер передела (без учета способа расчета себестоимости)
		//	МинимальныйПередел - Число - Минимальный номер передела (без учета способа расчета себестоимости)
		//

		public void ПолучитьНачальныйИКонечныйНомерПередела(/*
	СтруктураШапкиДокумента,
	СпособРасчета,
	НачальныйПередел,
	КонечныйПередел,
	ВсегоПеределов = 0,
	МинимальныйПередел = 0
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ
	|	ВЫБОР КОГДА РаспределениеЗатрат.НачальныйПередел > ЕСТЬNULL(ПорядокЗакрытия.МинимальныйПередел, 0)
	|		И ЕСТЬNULL(ПорядокЗакрытия.МинимальныйПередел, 0) <> 0
	|	ТОГДА
	|		ЕСТЬNULL(ПорядокЗакрытия.МинимальныйПередел, 0)
	|	ИНАЧЕ
	|		РаспределениеЗатрат.НачальныйПередел
	|	КОНЕЦ КАК НачальныйПередел,
	|	РаспределениеЗатрат.КонечныйПередел,
	|	РаспределениеЗатратПолное.ВсегоПеределов,
	|	РаспределениеЗатратПолное.МинимальныйПередел
	|ИЗ (	
	|	ВЫБРАТЬ
	|		МИНИМУМ(
	|			ВЫБОР КОГДА РаспределениеЗатрат.Подразделение.ВидПодразделения В (&ВидыПодразделений) ТОГДА
	|				РаспределениеЗатрат.НомерПередела
	|			ИНАЧЕ
	|				9999
	|			КОНЕЦ
	|		) КАК НачальныйПередел,
	|		МАКСИМУМ(
	|			ВЫБОР КОГДА РаспределениеЗатрат.Подразделение.ВидПодразделения В (&ВидыПодразделений) ТОГДА
	|				РаспределениеЗатрат.НомерПередела
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|		) КАК КонечныйПередел
	|		
	|	ИЗ
	|		РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК РаспределениеЗатрат
	|	ГДЕ
	|		РаспределениеЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|		//ДляРеглУчета И РаспределениеЗатрат.Организация = &Организация
	|		
	|	) КАК РаспределениеЗатрат
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			МИНИМУМ(НомерПередела) КАК МинимальныйПередел
	|		ИЗ
	|			РегистрСведений.ПорядокЗакрытияПодразделений%СуффиксОрганизаций%.СрезПоследних(&КонДата, 
	|				Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|				//ДляРеглУчета И Организация = &Организация 
	|				) КАК ПорядокЗакрытия
	|		ГДЕ
	|			НомерПередела <> 0
	|		) КАК ПорядокЗакрытия
	|	ПО
	|		Истина
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			МИНИМУМ(РаспределениеЗатратПолное.НомерПередела) КАК МинимальныйПередел,
	|			МАКСИМУМ(РаспределениеЗатратПолное.НомерПередела) КАК ВсегоПеределов
	|		ИЗ
	|			РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК РаспределениеЗатратПолное
	|		ГДЕ
	|			РаспределениеЗатратПолное.Период МЕЖДУ &НачДата И &КонДата
	|			//ДляРеглУчета И РаспределениеЗатратПолное.Организация = &Организация
	|
	|		) КАК РаспределениеЗатратПолное
	|	ПО
	|		ИСТИНА
	|";*/
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			//НачальныйПередел = 0;
			//КонечныйПередел = 0;
			//ВсегоПеределов = 0;
			//МинимальныйПередел = 0;
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//НачальныйПередел = ?(Выборка.НачальныйПередел = NULL, 0, Выборка.НачальныйПередел);
					//КонечныйПередел = ?(Выборка.КонечныйПередел = NULL, 0, Выборка.КонечныйПередел);
					//ВсегоПеределов = ?(Выборка.ВсегоПеределов = NULL, 0, Выборка.ВсегоПеределов);
					//МинимальныйПередел = ?(Выборка.МинимальныйПередел = NULL, 0, Выборка.МинимальныйПередел);
				}
			}
		}
		// ПолучитьНачальныйИКонечныйНомерПередела()
		// Процедура производит расчет себестоимости по прямым затратам по переделам.
		//

		public void РасчетПрямыхЗатрат(/*
	СтруктураШапкиДокумента, 
	СтруктураТаблицДвижений, 
	СпособРасчета, 
	РасчетЗатратВстречногоВыпуска = Ложь
	*/)
		{
			//ДополнитьСтруктуруШапкиДокумента(СтруктураШапкиДокумента);
			//НачальныйПередел = 0;
			//КонечныйПередел = 0;
			/*ПолучитьНачальныйИКонечныйНомерПередела(
		СтруктураШапкиДокумента,
		СпособРасчета,
		НачальныйПередел,
		КонечныйПередел
		);*/
			if(true/*НачальныйПередел = 0 ИЛИ КонечныйПередел = 0*/)
			{
			}
			/*// Формирование запроса по незавершенному производству.
*/
			/*ЗапросПоНезавершенномуПроизводству = СформироватьЗапросПоНезавершенномуПроизводству(
		СтруктураШапкиДокумента,
		СпособРасчета
		);*/
			/*// Формирование запроса по затратам на выпуск.
*/
			/*ЗапросПоЗатратамНаВыпуск = СформироватьЗапросПоЗатратамНаВыпуск(
		СтруктураШапкиДокумента,
		СпособРасчета
		);*/
			/*// Формирование запроса по выпуску продукции и затратам на выпуск.	
*/
			/*// КосвенныеЗатраты
*/
			/*РасчетЗатратВстречногоВыпуска
		);*/
			/*// Формирование запроса по направлением выпуска продукции.
*/
			/*// КосвенныеЗатраты
*/
			/*РасчетЗатратВстречногоВыпуска
		);*/
			/*// Формирование запроса по способам распределения.	
*/
			/*// КосвенныеЗатраты
*/
			/*РасчетЗатратВстречногоВыпуска
		);*/
			/*// Формирование запроса по коэффициентам распределения по проектам.
*/
			/*ЗапросРаспределениеПоПроектам = СформироватьЗапросРаспределениеПоПроектам(
		СтруктураШапкиДокумента
		);*/
			//РезультатЗапросаРаспределениеПоПроектам = ЗапросРаспределениеПоПроектам.Выполнить();
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента);
		}
		// РасчетПрямыхЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ КОРРЕКИРОВКИ СТОИМОСТИ ВЫПУСКА ПРОДУКЦИИ
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРАМ "ВЫПУСК ПРОДУКЦИИ" И "ЗАТРАТЫ НА ВЫПУСК ПРОДУКЦИИ"
		// Процедура устанавливает параметры запроса по выпуску продукции и затратам на выпуск продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//	Запрос - Запрос.
		//

		public void УстановитьПараметрыЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента, 
	СпособРасчета, 
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			//Запрос.УстановитьПараметр("ПустаяПродукция", Справочники.Номенклатура.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяСтатьяЗатрат", Справочники.СтатьиЗатрат.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойПроект", Справочники.Проекты.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ВыпускПродукцииПоФиксированнойСтоимости", Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//Запрос.УстановитьПараметр("ВидРасходовПроизводственные", Перечисления.ХарактерЗатрат.ПроизводственныеРасходы);
			//Запрос.УстановитьПараметр("СтатусМатериальныхЗатратПринятые",  Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку);
			//Запрос.УстановитьПараметр("КодыОперацииОприходование", Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОприходованиеНЗП);
			//Запрос.УстановитьПараметр("КодыОперацииВыпускаОприходование", Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивКодовОперацийКорректировка = Новый Массив;
			//МассивКодовОперацийКорректировка.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч);
			//Запрос.УстановитьПараметр("КодыОперацииКорректировка", МассивКодовОперацийКорректировка);
			//МассивКодовОперацийВозврат = Новый Массив;
			//МассивКодовОперацийВозврат.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивКодовОперацийВозврат.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП);
			//Запрос.УстановитьПараметр("КодыОперацииВозврат", МассивКодовОперацийВозврат);
			//МассивКодовОперацийВыпускаКорректировка = Новый Массив;
			//МассивКодовОперацийВыпускаКорректировка.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//Запрос.УстановитьПараметр("КодыОперацииВыпускаКорректировка", МассивКодовОперацийВыпускаКорректировка);
			//КодыОперацииВыпускаВозврат = Новый Массив;
			//КодыОперацииВыпускаВозврат.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//КодыОперацииВыпускаВозврат.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//Запрос.УстановитьПараметр("КодыОперацииВыпускаВозврат", КодыОперацииВыпускаВозврат);
			//КодыОперацийФиксСтоимость = Новый Массив;
			//КодыОперацийФиксСтоимость.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//КодыОперацийФиксСтоимость.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПФикс);
			//КодыОперацийФиксСтоимость.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОперацийФиксСтоимость", КодыОперацийФиксСтоимость);
			//КодыОперацийВыпускаФиксСтоимость = Новый Массив;
			//КодыОперацийВыпускаФиксСтоимость.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//КодыОперацийВыпускаФиксСтоимость.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//КодыОперацийВыпускаФиксСтоимость.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//КодыОперацийВыпускаФиксСтоимость.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//Запрос.УстановитьПараметр("КодыОперацийВыпускаФиксСтоимость", КодыОперацийВыпускаФиксСтоимость);
			//КодыОперацийСписаниеНаЗатраты = Новый Массив;
			//КодыОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты);
			//КодыОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство);
			//Запрос.УстановитьПараметр("КодыОперацийСписаниеНаЗатраты", КодыОперацийСписаниеНаЗатраты);
			//МассивИсключаемыхСчетовЗатрат = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);
				//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
				//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
				//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
				//МассивИсключаемыхСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.БракВПроизводстве);
			}
			//Запрос.УстановитьПараметр("МассивИсключаемыхСчетовЗатрат", МассивИсключаемыхСчетовЗатрат);
			//МассивИсключаемыхХарактеровЗатрат = Новый Массив;
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ПроизводственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщепроизводственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы);
			//МассивИсключаемыхХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.БракВПроизводстве);
			//Запрос.УстановитьПараметр("МассивИсключаемыхХарактеровЗатрат", МассивИсключаемыхХарактеровЗатрат);
		}
		// УстановитьПараметрыЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск()
		// Функция формирует текст запроса по регистрам "Выпуск продукции" и "Затраты на выпуск продукции".
		//
		// Возвращаемое значение:
		//   Текст – текст запроса по регистрам "Выпуск продукции" и "Затраты на выпуск продукции".
		//

		public object СформироватьТекстЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	| 	
	| 	ВыпускПродукции.ОприходованиеНЗП,
	| 	ВыпускПродукции.КорректировкаНЗП,
	| 	ВыпускПродукции.ВозвратИзНЗП,
	|	
	|	СУММА(ВыпускПродукции.КоличествоОприходование) КАК КоличествоОприходование,
	|	СУММА(ВыпускПродукции.Количество) КАК Количество,
	|	СУММА(ВыпускПродукции.Стоимость) КАК Стоимость,
	|	
	|	//ДляНалУчета СУММА(ВыпускПродукции.СуммаЗатратПостояннаяРазница) КАК СуммаЗатратПостояннаяРазница,
	|	//ДляНалУчета СУММА(ВыпускПродукции.СуммаЗатратВременнаяРазница) КАК СуммаЗатратВременнаяРазница,
	|	СУММА(ВыпускПродукции.СуммаЗатрат) КАК СуммаЗатрат
	|	
	|ИЗ (
	|	ВЫБРАТЬ
	|		//ДляРеглУчета ВыпускПродукции.Организация,
	|		ВыпускПродукции.Подразделение,
	|		ВыпускПродукции.НоменклатурнаяГруппа,
	|		ВыпускПродукции.Продукция,
	|		ВыпускПродукции.ХарактеристикаПродукции,
	|		ВыпускПродукции.СерияПродукции,
	|		ВыпускПродукции.Спецификация,
	|		ВыпускПродукции.Заказ,
	|		//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаКорректировка) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК КорректировкаНЗП,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаВозврат) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК ВозвратИзНЗП,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК ОприходованиеНЗП,
	|		
	|		СУММА(
	|			ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|				ВыпускПродукции.Количество
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|			) КАК КоличествоОприходование,
	|		
	|		СУММА(ВыпускПродукции.Количество) КАК Количество,
	|		СУММА(ВыпускПродукции.Стоимость) КАК Стоимость,
	|		
	|		//ДляНалУчета 0 КАК СуммаЗатратПостояннаяРазница,
	|		//ДляНалУчета 0 КАК СуммаЗатратВременнаяРазница,
	|		0 КАК СуммаЗатрат
	|	
	|	ИЗ	
	|		РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		
	|	ГДЕ
	|		ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|		И ВыпускПродукции.Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		И Не ВыпускПродукции.КодОперации В (&КодыОперацийВыпускаФиксСтоимость)
	|		//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|		И ВыпускПродукции.Продукция В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Распределение.Продукция
	|			ИЗ			
	|				РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|			ГДЕ
	|				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|				И Распределение.НомерПередела = &НомерПередела
	|				//ДляРеглУчета И Распределение.Организация = &Организация
	|			)
	|		
	|	СГРУППИРОВАТЬ ПО
	|		//ДляРеглУчета ВыпускПродукции.Организация,
	|		ВыпускПродукции.Подразделение,
	|		ВыпускПродукции.НоменклатурнаяГруппа,
	|		ВыпускПродукции.Продукция,
	|		ВыпускПродукции.ХарактеристикаПродукции,
	|		ВыпускПродукции.СерияПродукции,
	|		ВыпускПродукции.Спецификация,
	|		ВыпускПродукции.Заказ,
	|		//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаКорректировка) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаВозврат) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ,
	|		
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ
	|		
	|	ОБЪЕДИНИТЬ ВСЕ 
	|	
	|	ВЫБРАТЬ
	|		//ДляРеглУчета ЗатратыНаВыпускПродукции.Организация,
	|		ЗатратыНаВыпускПродукции.Подразделение,
	|		ЗатратыНаВыпускПродукции.НоменклатурнаяГруппа,
	|		ЗатратыНаВыпускПродукции.Продукция,
	|		ЗатратыНаВыпускПродукции.ХарактеристикаПродукции,
	|		ЗатратыНаВыпускПродукции.СерияПродукции,
	|		ЗатратыНаВыпускПродукции.Спецификация,
	|		ЗатратыНаВыпускПродукции.Заказ,
	|		//ДляРеглУчета ЗатратыНаВыпускПродукции.СчетУчета,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииКорректировка) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК КорректировкаНЗП,
	|		
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииВозврат) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК ВозвратИзНЗП,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииОприходование) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ КАК ОприходованиеНЗП,
	|		
	|		0, // КоличествоОприходование
	|		0, // Количество
	|		0, // Стоимость
	|
	|		//ДляНалУчета СУММА(ЗатратыНаВыпускПродукции.ПостояннаяРазница) КАК СуммаЗатратПостояннаяРазница,
	|		//ДляНалУчета СУММА(ЗатратыНаВыпускПродукции.ВременнаяРазница) КАК СуммаЗатратВременнаяРазница,
	|		СУММА(ЗатратыНаВыпускПродукции.Сумма) КАК СуммаЗатрат
	|	ИЗ
	|		РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпускПродукции
	|	ГДЕ
	|		ЗатратыНаВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|		И ЗатратыНаВыпускПродукции.СтатьяЗатрат.СтатусМатериальныхЗатрат <> &СтатусМатериальныхЗатратПринятые
	|		И ЗатратыНаВыпускПродукции.Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		И Не ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацийФиксСтоимость)
	|		//ДляРеглУчета И ЗатратыНаВыпускПродукции.Организация = &Организация
	|
	|		И ЗатратыНаВыпускПродукции.Продукция В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Распределение.Продукция
	|			ИЗ			
	|				РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|			ГДЕ
	|				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|				И Распределение.НомерПередела = &НомерПередела
	|				//ДляРеглУчета И Распределение.Организация = &Организация
	|			)
	|			
	|	СГРУППИРОВАТЬ ПО
	|		//ДляРеглУчета ЗатратыНаВыпускПродукции.Организация,
	|		ЗатратыНаВыпускПродукции.Подразделение,
	|		ЗатратыНаВыпускПродукции.НоменклатурнаяГруппа,
	|		ЗатратыНаВыпускПродукции.Продукция,
	|		ЗатратыНаВыпускПродукции.ХарактеристикаПродукции,
	|		ЗатратыНаВыпускПродукции.СерияПродукции,
	|		ЗатратыНаВыпускПродукции.Спецификация,
	|		ЗатратыНаВыпускПродукции.Заказ,
	|		//ДляРеглУчета ЗатратыНаВыпускПродукции.СчетУчета,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииКорректировка) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииОприходование) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ,
	|
	|		ВЫБОР КОГДА ЗатратыНаВыпускПродукции.КодОперации В (&КодыОперацииВозврат) ТОГДА
	|			Истина
	|		ИНАЧЕ
	|			Ложь
	|		КОНЕЦ
	|		
	|	) КАК ВыпускПродукции
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			Распределение.Подразделение,
	|			Распределение.КорректировкаНЗП,
	|			Распределение.ОприходованиеНЗП,
	|			Распределение.ВозвратИзНЗП,
	|			Распределение.Продукция,
	|			Распределение.ХарактеристикаПродукции,
	|			Распределение.СерияПродукции,
	|			Распределение.Продукция.ВестиУчетПоСериямВНЗП КАК ВестиУчетПоСериямВНЗП
	|		ИЗ			
	|			РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|		ГДЕ
	|			Распределение.Период МЕЖДУ &НачДата И &КонДата
	|			И Распределение.НомерПередела = &НомерПередела
	|			//ДляРеглУчета И Распределение.Организация = &Организация
	|		) КАК Распределение
	|	ПО 
	|		ВыпускПродукции.Подразделение = Распределение.Подразделение
	|		И ВыпускПродукции.Продукция = Распределение.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Распределение.ХарактеристикаПродукции
	|		И (ВыпускПродукции.СерияПродукции = Распределение.СерияПродукции
	|			И Распределение.ВестиУчетПоСериямВНЗП
	|			ИЛИ Не Распределение.ВестиУчетПоСериямВНЗП)
	|		И ВыпускПродукции.КорректировкаНЗП = Распределение.КорректировкаНЗП
	|		И ВыпускПродукции.ВозвратИзНЗП = Распределение.ВозвратИзНЗП
	|		И ВыпускПродукции.ОприходованиеНЗП = Распределение.ОприходованиеНЗП
	|	
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.ОприходованиеНЗП,
	| 	ВыпускПродукции.КорректировкаНЗП,
	| 	ВыпускПродукции.ВозвратИзНЗП
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.ОприходованиеНЗП,
	| 	ВыпускПродукции.КорректировкаНЗП,
	| 	ВыпускПродукции.ВозвратИзНЗП
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск()
		// Функция формирует запрос по регистрам "Выпуск продукции" и "Затраты на выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска".
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистрам "Выпуск продукции" и "Затраты на выпуск продукции".
		//

		public object СформироватьЗапросПоВыпускуПродукцииИЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента, 
	СпособРасчета,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск(
		СтруктураШапкиДокумента, 
		СпособРасчета, 
		КосвенныеЗатраты,
		ЗатратыВстречногоВыпуска,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоВыпускуПродукцииИЗатратамНаВыпуск()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "ВЫПУСК ПРОДУКЦИИ"
		// Функция формирует текст запроса по регистру "Выпуск продукции".
		//
		// Возвращаемое значение:
		//   Текст – текст запроса по регистру "Выпуск продукции".
		//

		public object СформироватьТекстЗапросаПоВыпускуПродукции(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляУпрУчета ВыпускПродукции.ДокументВыпуска.Организация КАК Организация,
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	
	|	ВыпускПродукции.Продукция,
	|	ПРЕДСТАВЛЕНИЕ(ВыпускПродукции.Продукция),
	|	ВыпускПродукции.Продукция.Услуга КАК Услуга,
	|	ВыпускПродукции.Продукция.ВестиПартионныйУчетПоСериям КАК ВестиПартионныйУчетПоСериям,
	|	ВыпускПродукции.Продукция.ВестиУчетПоСериямВНЗП КАК ВестиУчетПоСериямВНЗП,
	|	
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.ДокументВыпуска,
	|	ВыпускПродукции.ДокументВыпуска.Дата КАК ДокументВыпускаДата,
	|	ВыпускПродукции.КодОперации,
	|
	|	//ДляУпрУчета ЕСТЬNULL(ВыпускПродукции.ДокументВыпуска.Проект, &ПустойПроект) КАК ДокументВыпускаПроект,
	|	//ДляУпрУчета ЕСТЬNULL(ПроектыНоменклатуры.Проект, &ПустойПроект) КАК Проект,
	|	
	|	ВыпускПродукции.ПодразделениеПолучатель,
	|	ВыпускПродукции.НоменклатурнаяГруппаПолучатель,
	|	
	|	ВыпускПродукции.СтатьяЗатратПолучатель,
	|	ВыпускПродукции.СтатьяЗатратПоВозврату,
	|
	|	//ДляУпрУчета ВыпускПродукции.ОбъектСтроительства,
	|	
	|	ВЫБОР КОГДА Не ВыпускПродукции.СтатьяЗатратПоВозврату = &ПустаяСтатьяЗатрат ТОГДА
	|		ВыпускПродукции.СтатьяЗатратПоВозврату.ВидЗатрат
	|	ИНАЧЕ
	|		ВыпускПродукции.СтатьяЗатратПолучатель.ВидЗатрат
	|	КОНЕЦ КАК ВидЗатрат,
	|	
	|	ВЫБОР КОГДА Не ВыпускПродукции.СтатьяЗатратПоВозврату = &ПустаяСтатьяЗатрат ТОГДА
	|		ВыпускПродукции.СтатьяЗатратПоВозврату.ХарактерЗатрат
	|	ИНАЧЕ
	|		ВыпускПродукции.СтатьяЗатратПолучатель.ХарактерЗатрат
	|	КОНЕЦ КАК ХарактерЗатрат,
	|	
	|	ВыпускПродукции.СкладПолучатель,
	|	ВыпускПродукции.Качество,
	|	//ДляУпрУчета ВыпускПродукции.СтатусПартии,
	|	
	|	ВыпускПродукции.ЗаказПолучатель,
	|	ВыпускПродукции.ЗаказПолучатель.ВидОперации КАК ВидОперации,
	|	ЕСТЬNULL(
	|		ВыпускПродукции.ЗаказПолучатель.ДоговорКонтрагента.ОбособленныйУчетТоваровПоЗаказамПокупателей,
	|		Ложь
	|		) КАК ОбособленныйУчетТоваровПоЗаказамПокупателей,
	|		
	|	ВыпускПродукции.ПродукцияПолучатель,
	|	ВыпускПродукции.ХарактеристикаПродукцииПолучатель,
	|	ВыпускПродукции.СерияПродукцииПолучатель,
	|		
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетЗатрат,
	|	//ДляРеглУчета ВыпускПродукции.СчетДт,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт1,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт2,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт3,
	|		
	|	//ДляНалУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетЗатратНУ,
	|	//ДляНалУчета ВыпускПродукции.СчетДт КАК СчетДтНУ,
	|	//ДляНалУчета ВыпускПродукции.СубконтоДт1 КАК СубконтоДтНУ1,
	|	//ДляНалУчета ВыпускПродукции.СубконтоДт2 КАК СубконтоДтНУ2,
	|	//ДляНалУчета ВыпускПродукции.СубконтоДт3 КАК СубконтоДтНУ3,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаКорректировка) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ КАК КорректировкаНЗП,
	|			
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаВозврат) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ КАК ВозвратИзНЗП,
	|			
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ КАК ОприходованиеНЗП,
	|
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацийСписаниеНаЗатраты)
	|		//ДляУпрУчета И ВыпускПродукции.СтатьяЗатратПолучатель.ХарактерЗатрат В (&МассивИсключаемыхХарактеровЗатрат)
	|		//ДляРеглУчета И ВыпускПродукции.СчетДт В ИЕРАРХИИ (&МассивИсключаемыхСчетовЗатрат)
	|	ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ КАК ПроверятьНаправлениеВыпуска,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|			ВыпускПродукции.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|		) КАК КоличествоОприходование,
	|	
	|	//ДляНалУчета СУММА(ВыпускПродукции.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	//ДляНалУчета СУММА(ВыпускПродукции.ВременнаяРазница) КАК ВременнаяРазница,
	|	СУММА(ВыпускПродукции.Количество) КАК Количество,
	|	СУММА(ВыпускПродукции.Стоимость) КАК Стоимость
	|	
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|
	|	//ДляУпрУчета ЛЕВОЕ СОЕДИНЕНИЕ 
	|	//ДляУпрУчета 	РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(&КонДата, 
	|	//ДляУпрУчета 		НоменклатураПроекта В (
	|	//ДляУпрУчета			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	//ДляУпрУчета				Распределение.Продукция
	|	//ДляУпрУчета			ИЗ			
	|	//ДляУпрУчета				РегистрСведений.РаспределениеПродукцииПоПеределам КАК Распределение
	|	//ДляУпрУчета			ГДЕ
	|	//ДляУпрУчета				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляУпрУчета				И Распределение.НомерПередела = &НомерПередела
	|	//ДляУпрУчета			)
	|	//ДляУпрУчета		) КАК ПроектыНоменклатуры
	|	//ДляУпрУчета	ПО 
	|	//ДляУпрУчета		ВыпускПродукции.Продукция = ПроектыНоменклатуры.НоменклатураПроекта
	|	
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И ВыпускПродукции.Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|	И Не ВыпускПродукции.КодОперации В (&КодыОперацийВыпускаФиксСтоимость)
	|	
	|	И ВыпускПродукции.Подразделение В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Распределение.Подразделение
	|			ИЗ			
	|				РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|			ГДЕ
	|				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|				И Распределение.НомерПередела = &НомерПередела
	|				//ДляРеглУчета И Распределение.Организация = &Организация
	|			)
	|	И ВыпускПродукции.Продукция В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Распределение.Продукция
	|			ИЗ			
	|				РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|			ГДЕ
	|				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|				И Распределение.НомерПередела = &НомерПередела
	|				//ДляРеглУчета И Распределение.Организация = &Организация
	|			)
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.ДокументВыпуска,
	|	ВыпускПродукции.КодОперации,
	|	
	|	//ДляУпрУчета ЕСТЬNULL(ВыпускПродукции.ДокументВыпуска.Проект, &ПустойПроект),
	|	//ДляУпрУчета ЕСТЬNULL(ПроектыНоменклатуры.Проект, &ПустойПроект),
	|
	|	ВыпускПродукции.ПодразделениеПолучатель,
	|	ВыпускПродукции.НоменклатурнаяГруппаПолучатель,
	|	ВыпускПродукции.СтатьяЗатратПолучатель,
	|	ВыпускПродукции.СтатьяЗатратПоВозврату,
	|
	|	//ДляУпрУчета ВыпускПродукции.ОбъектСтроительства,
	|	
	|	ВЫБОР КОГДА Не ВыпускПродукции.СтатьяЗатратПоВозврату = &ПустаяСтатьяЗатрат ТОГДА
	|		ВыпускПродукции.СтатьяЗатратПоВозврату.ВидЗатрат
	|	ИНАЧЕ
	|		ВыпускПродукции.СтатьяЗатратПолучатель.ВидЗатрат
	|	КОНЕЦ,
	|	
	|	ВЫБОР КОГДА Не ВыпускПродукции.СтатьяЗатратПоВозврату = &ПустаяСтатьяЗатрат ТОГДА
	|		ВыпускПродукции.СтатьяЗатратПоВозврату.ХарактерЗатрат
	|	ИНАЧЕ
	|		ВыпускПродукции.СтатьяЗатратПолучатель.ХарактерЗатрат
	|	КОНЕЦ,
	|	
	|	ВыпускПродукции.СкладПолучатель,
	|	ВыпускПродукции.Качество,
	|	//ДляУпрУчета ВыпускПродукции.СтатусПартии,
	|	
	|	ВыпускПродукции.ЗаказПолучатель,
	|	ЕСТЬNULL(
	|		ВыпускПродукции.ЗаказПолучатель.ДоговорКонтрагента.ОбособленныйУчетТоваровПоЗаказамПокупателей,
	|		Ложь
	|		),
	|	
	|	ВыпускПродукции.ПродукцияПолучатель,
	|	ВыпускПродукции.ХарактеристикаПродукцииПолучатель,
	|	ВыпускПродукции.СерияПродукцииПолучатель,
	|		
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	//ДляРеглУчета ВыпускПродукции.СчетДт,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт1,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт2,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт3,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаКорректировка) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ,
	|
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаВозврат) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ,
	|
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаКорректировка) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ,
	|
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаВозврат) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ,
	|
	|	ВЫБОР КОГДА ВыпускПродукции.КодОперации В (&КодыОперацииВыпускаОприходование) ТОГДА
	|		Истина
	|	ИНАЧЕ
	|		Ложь
	|	КОНЕЦ,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.ДокументВыпуска,
	|	ВыпускПродукции.КодОперации,
	|	
	|	ВыпускПродукции.ПодразделениеПолучатель,
	|	ВыпускПродукции.НоменклатурнаяГруппаПолучатель,
	|	ВыпускПродукции.СтатьяЗатратПолучатель,
	|	ВыпускПродукции.СтатьяЗатратПоВозврату,
	|	ВыпускПродукции.СкладПолучатель,
	|	ВыпускПродукции.Качество,
	|	//ДляУпрУчета ВыпускПродукции.СтатусПартии,
	|	//ДляУпрУчета ВыпускПродукции.ОбъектСтроительства,
	|	ВыпускПродукции.ЗаказПолучатель,
	|		
	|	//ДляРеглУчета ВыпускПродукции.СчетДт,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт1,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт2,
	|	//ДляРеглУчета ВыпускПродукции.СубконтоДт3,
	|	
	|	ВыпускПродукции.ПродукцияПолучатель,
	|	ВыпускПродукции.ХарактеристикаПродукцииПолучатель,
	|	ВыпускПродукции.СерияПродукцииПолучатель
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоВыпускуПродукции()
		// Функция формирует запрос по регистру "Выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска".
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру "Выпуск продукции".
		//

		public object СформироватьЗапросПоНаправлениямВыпускаПродукции(/*
	СтруктураШапкиДокумента, 
	СпособРасчета,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоВыпускуПродукции();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			/*УстановитьПараметрыЗапросаПоВыпускуПродукцииИЗатратамНаВыпуск(
		СтруктураШапкиДокумента, 
		СпособРасчета, 
		КосвенныеЗатраты,
		ЗатратыВстречногоВыпуска,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоНаправлениямВыпускаПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ЗАПРОСА ДЛЯ ОПРЕДЕЛЕНИЯ НАПРАВЛЕНИЙ ВЫПУСКА, ИСКЛЮЧАЕМЫХ ИЗ КОРРЕКТИРОВКИ
		// Функция формирует текст запроса для получения направлений списания продукции, исключаемых из корректировки.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса.
		//

		public object СформироватьТекстЗапросаПоИсключаемымНаправлениямВыпуска(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Распределение.Подразделение,
	|	Распределение.НоменклатурнаяГруппа,
	|	Распределение.СтатьяЗатрат,
	|	Распределение.Затрата,
	|	Распределение.ХарактеристикаЗатраты,
	|	Распределение.СерияЗатраты
	|ИЗ			
	|	РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК Распределение
	|ГДЕ
	|	Распределение.Период МЕЖДУ &НачДата И &КонДата
	|	И Распределение.ВстречныйВыпуск
	|	И &ЗатратыВстречногоВыпуска
	|	И Не &ИтерационныйРасчетЗатратВстречногоВыпуска
	|	//ДляРеглУчета И Распределение.Организация = &Организация
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Корректировка.Подразделение,
	|	Корректировка.НоменклатурнаяГруппа,
	|	Корректировка.СтатьяЗатрат,
	|	Корректировка.Затрата,
	|	Корректировка.ХарактеристикаЗатраты,
	|	Корректировка.СерияЗатраты
	|ИЗ			
	|	РегистрСведений.КорректировкаВстречногоВыпускаПродукции КАК Корректировка
	|ГДЕ
	|	Корректировка.Период МЕЖДУ &НачДата И &КонДата
	|	И Корректировка.Документ = Неопределено
	|	//ДляУпрУчета И Корректировка.ОтражатьВУправленческомУчете
	|	//ДляРеглУчета И Корректировка.ОтражатьВБухгалтерскомУчете
	|	//ДляРеглУчета И Корректировка.Организация = &Организация
	|	
	|УПОРЯДОЧИТЬ ПО
	|	Подразделение,
	|	НоменклатурнаяГруппа,
	|	СтатьяЗатрат,
	|	Затрата,
	|	ХарактеристикаЗатраты,
	|	СерияЗатраты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоИсключаемымНаправлениямВыпуска()
		// Функция формирует запрос для получения направлений списания продукции, исключаемых из корректировки.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска".
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по исключаемым направлениям выпуска
		//

		public object СформироватьЗапросПоИсключаемымНаправлениямВыпуска(/*
	СтруктураШапкиДокумента, 
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска
	*/)
		{
			//Запрос = Новый Запрос;
			if(true/*КосвенныеЗатраты ИЛИ ЗатратыВстречногоВыпуска*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоИсключаемымНаправлениямВыпуска();
				/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаСКомментариями, 
			СтруктураШапкиДокумента.ВидОтраженияВУчете
		);*/
				//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
				//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
				//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
				//Запрос.УстановитьПараметр("ЗатратыВстречногоВыпуска", ЗатратыВстречногоВыпуска);
				//Запрос.УстановитьПараметр("ИтерационныйРасчетЗатратВстречногоВыпуска", СтруктураШапкиДокумента.ИтерационныйРасчетЗатратВстречногоВыпуска);
			}
			//Запрос.Текст = ТекстЗапроса;
			return null;
		}
		// СформироватьЗапросПоИсключаемымНаправлениямВыпуска()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА ФОРМИРОВАНИЯ ЗАПРОСА ДЛЯ ОПРЕДЕЛЕНИЯ КОЭФФИЦИЕНТОВ РАСПРЕДЕЛЕНИЯ ПО ПРОЕКТАМ
		// Функция формирует запрос по коэффициентам распределения по проектам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по коэффициентам распределения по проектам.
		//

		public object СформироватьЗапросРаспределениеПоПроектам(/*
	СтруктураШапкиДокумента
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете
	   И СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
			{
				/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	РаспределениеПоПроектам.ВидРаспределения,
		|	РаспределениеПоПроектам.Проект,
		|	РаспределениеПоПроектам.ДоляРаспределения
		|ИЗ
		|	РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонДата, ) КАК РаспределениеПоПроектам
		|	
		|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
		|		ВЫБРАТЬ
		|			РаспределениеПоПроектам.ВидРаспределения,
		|			МАКСИМУМ(РаспределениеПоПроектам.Период) КАК Период
		|		ИЗ
		|			РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонДата, ) КАК РаспределениеПоПроектам
		|		СГРУППИРОВАТЬ ПО
		|			РаспределениеПоПроектам.ВидРаспределения
		|		) КАК РаспределениеПоПроектамПериод
		|	ПО
		|		РаспределениеПоПроектам.ВидРаспределения = РаспределениеПоПроектамПериод.ВидРаспределения
		|		И РаспределениеПоПроектам.Период = РаспределениеПоПроектамПериод.Период
		|
		|УПОРЯДОЧИТЬ ПО
		|	РаспределениеПоПроектам.ВидРаспределения,
		|	РаспределениеПоПроектам.Проект
		|";*/
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			return null;
		}
		// СформироватьЗапросРаспределениеПоПроектам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ НАКОПЛЕНИЯ ПО НАПРАВЛЕНИЯМ ВЫПУСКА
		// Процедура формирует движение по регистру "Выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//  СуммаКорректировкиПостояннаяРазница - Число - Сумма корректировки в части постоянной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Сумма корректировки в части временной разницы
		//	НаборЗаписейВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Выпуск продукции".
		//

		public void СформироватьДвиженияПоРегиструВыпускПродукции(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	СуммаКорректировкиПостояннаяРазница,
	СуммаКорректировкиВременнаяРазница,
	НаборЗаписейВыпускПродукции
	*/)
		{
			if(true/*СуммаКорректировки = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			//НоваяСтрока = НаборЗаписейВыпускПродукции.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.Количество  = 0;
			//НоваяСтрока.Стоимость = СуммаКорректировки;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = СуммаКорректировкиПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = СуммаКорректировкиВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейВыпускПродукции.Количество() = 1000*/)
			{
				//НаборЗаписейВыпускПродукции.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатраты()
		// Функция получает способ ведения партионного учета для организации по данным соответствия
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	Организация - СправочникСсылка.Организации - Текущая организация
		//

		public object ПолучитьСпособВеденияПартионногоУчетаПоОрганизацииИзСоответствия(/*
	СтруктураШапкиДокумента,
	Организация
	*/)
		{
			//СпособыВеденияПартионногоУчетаПоОрганизациям = СтруктураШапкиДокумента.СпособыВеденияПартионногоУчетаПоОрганизациям;
			//СпособВеденияПартионногоУчетаПоОрганизации = СпособыВеденияПартионногоУчетаПоОрганизациям.Получить(Организация);
			return null;
		}
		// ПолучитьСпособВеденияПартионногоУчетаПоОрганизацииИзСоответствия()
		// Процедура формирует движение по регистру "Партии товаров на складах".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//  СуммаКорректировкиПостояннаяРазница - Число - Сумма корректировки в части постоянной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Сумма корректировки в части временной разницы
		//	НаборЗаписейПартииТоваровНаСкладах - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Партии товаров на складах".
		//

		public void СформироватьДвиженияПоРегиструПартииТоваровНаСкладах(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	СуммаКорректировкиПостояннаяРазница,
	СуммаКорректировкиВременнаяРазница,
	НаборЗаписейПартииТоваровНаСкладах
	*/)
		{
			if(true/*СуммаКорректировки = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				/*СпособВеденияПартионногоУчетаПоОрганизации = ПолучитьСпособВеденияПартионногоУчетаПоОрганизацииИзСоответствия(
			СтруктураШапкиДокумента,
			СтрокаВыборки.Организация
		);*/
				if(true/*СпособВеденияПартионногоУчетаПоОрганизации = Перечисления.СпособыВеденияПартионногоУчетаПоОрганизациям.НеВедется*/)
				{
				}
			}
			/*// В движениях по регистру "Партии товаров на складах" должны быть заполнены измерения:
*/
			/*//	- Номенклатура,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Склад - заполняется, если ведется суммовой учет по складам
*/
			/*//		склад не заполняется для продукции, выпущенной из давальческого сырья (при указании заказа покупателя: переработка),
*/
			/*//	- ХарактеристикаНоменклатуры,
*/
			/*//	- СерияНоменклатуры - заполняется, если ведется партионный учет по сериям,
*/
			/*//	- ДокументОприходования - заполняется, если не используется способ списания МПЗ "По средней",
*/
			/*//	- СтатусПартии - заполняется только при отражении документа в управленческом учете,
*/
			/*//	- Заказ - заполняется, если в заказе покупателя указан договор с установленным флажком "Вести учет товаров по заказам покупателей"
*/
			/*//		или если указан заказ покупателя: переработка.
*/
			/*//	- Качество.
*/
			/*//
*/
			/*// В движениях должны быть заполнены реквизиты:
*/
			/*//	- КодОперации - записывается код операции "Выпуск по операции стоимость",
*/
			/*//	- ДокументДвижения - документ, движения которого корректируются по фактической стоимости.
*/
			/*//	- ДокументДвиженияПериод - период документа движения
*/
			//НоваяСтрока = НаборЗаписейПартииТоваровНаСкладах.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Номенклатура = СтрокаВыборки.Продукция;
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				/*ОрганизацияУпр = УправлениеЗапасами.ПолучитьОрганизациюВСоответствииСоСпособомВеденияПартионногоУчетаПоОрганизациям(
			СтрокаВыборки.Организация,
			СпособВеденияПартионногоУчетаПоОрганизации
		);*/
				//НоваяСтрока.Организация = ОрганизацияУпр;
				if(true/*глЗначениеПеременной("ПараметрыПартионногоУчета").ВестиПартионныйУчетПоСкладам
		   И Не СтрокаВыборки.ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.Переработка*/)
				{
					//НоваяСтрока.Склад = СтрокаВыборки.СкладПолучатель;
				}
			}
			//НоваяСтрока.ХарактеристикаНоменклатуры = СтрокаВыборки.ХарактеристикаПродукции;
			if(true/*СтрокаВыборки.ВестиПартионныйУчетПоСериям*/)
			{
				//НоваяСтрока.СерияНоменклатуры = СтрокаВыборки.СерияПродукции;
			}
			if(true/*НЕ СтруктураШапкиДокумента.УчетПоСредней*/)
			{
				//НоваяСтрока.ДокументОприходования = СтрокаВыборки.ДокументВыпуска;
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				if(true/*ЗначениеЗаполнено(СтрокаВыборки.СтатусПартии)*/)
				{
					//НоваяСтрока.СтатусПартии = СтрокаВыборки.СтатусПартии;
				}
			}
			if(true/*СтрокаВыборки.ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.Переработка
	 ИЛИ СтрокаВыборки.ОбособленныйУчетТоваровПоЗаказамПокупателей*/)
			{
				//НоваяСтрока.Заказ = СтрокаВыборки.ЗаказПолучатель;
			}
			//НоваяСтрока.Качество = СтрокаВыборки.Качество;
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч*/)
			{
				//НоваяСтрока.КодОперации = Перечисления.КодыОперацийПартииТоваров.ВозвратМатериаловИзПроизводстваРасч;
			}
			//НоваяСтрока.ДокументДвижения = СтрокаВыборки.ДокументВыпуска;
			//НоваяСтрока.ДокументДвиженияПериод = СтрокаВыборки.ДокументВыпускаДата;
			//НоваяСтрока.Стоимость = СуммаКорректировки;
			//НоваяСтрока.Количество  = 0;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = СуммаКорректировкиПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = СуммаКорректировкиВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейПартииТоваровНаСкладах.Количество() = 1000*/)
			{
				//НаборЗаписейПартииТоваровНаСкладах.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструПартииТоваровНаСкладах()
		// Процедура формирует движение по регистру "Незавершенное производство".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	НомерПередела - Число - Текущий номер передела
		//  СуммаКорректировки - Число - Сумма корректировки
		//  СуммаКорректировкиПостояннаяРазница - Число - Сумма корректировки в части постоянной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Сумма корректировки в части временной разницы
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство".
		//

		public void СформироватьДвиженияПоРегиструНезавершенноеПроизводство(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	НомерПередела,
	СуммаКорректировки,
	СуммаКорректировкиПостояннаяРазница,
	СуммаКорректировкиВременнаяРазница,
	НаборЗаписейНезавершенноеПроизводство
	*/)
		{
			if(true/*СуммаКорректировки = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			/*// В движениях по регистру "Незавершенное производство" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Затрата - всегда заполняется в случае указания статей затрат с видом затрат "Материальные",
*/
			/*//		для нематериальных статей затрат должен заполнятся способ распределения затрат.
*/
			/*//	- ХарактеристикаЗатраты,
*/
			/*//	- СерияЗатраты - заполняется, если ведется учет по сериям в НЗП.
*/
			//НоваяСтрока = НаборЗаписейНезавершенноеПроизводство.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Организация = СтруктураШапкиДокумента.Организация;
				if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП*/)
				{
					//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетЗатрат;
				}
			}
			//НоваяСтрока.Подразделение = СтрокаВыборки.ПодразделениеПолучатель;
			//НоваяСтрока.НоменклатурнаяГруппа = СтрокаВыборки.НоменклатурнаяГруппаПолучатель;
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатратПолучатель;
			//НоваяСтрока.Заказ = СтрокаВыборки.ЗаказПолучатель;
			if(true/*СтрокаВыборки.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные*/)
			{
				//НоваяСтрока.Затрата = СтрокаВыборки.Продукция;
				if(true/*Не СтрокаВыборки.Услуга*/)
				{
					//НоваяСтрока.ХарактеристикаЗатраты = СтрокаВыборки.ХарактеристикаПродукции;
					if(true/*СтрокаВыборки.ВестиУчетПоСериямВНЗП*/)
					{
						//НоваяСтрока.СерияЗатраты = СтрокаВыборки.СерияПродукции;
					}
				}
			}
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП*/)
			{
				//НоваяСтрока.КодОперации = Перечисления.КодыОперацийНезавершенноеПроизводство.ОприходованиеНЗП;
			}
			//НоваяСтрока.НомерПередела = НомерПередела;
			//НоваяСтрока.Стоимость = СуммаКорректировки;
			//НоваяСтрока.Количество  = 0;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = СуммаКорректировкиПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = СуммаКорректировкиВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейНезавершенноеПроизводство.Количество() = 1000*/)
			{
				//НаборЗаписейНезавершенноеПроизводство.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструНезавершенноеПроизводство()
		// Процедура формирует движение по регистру "Затраты".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//  СуммаКорректировкиПостояннаяРазница - Число - Сумма корректировки в части постоянной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Сумма корректировки в части временной разницы
		//	НаборЗаписейЗатраты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты".
		//

		public void СформироватьДвиженияПоРегиструЗатраты(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	СуммаКорректировкиПостояннаяРазница,
	СуммаКорректировкиВременнаяРазница,
	НаборЗаписейЗатраты
	*/)
		{
			if(true/*СуммаКорректировки = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете
	   И СтрокаВыборки.ХарактерЗатрат = Перечисления.ХарактерЗатрат.НеУчитываемыеВУправленческомУчете*/)
			{
			}
			/*// В движениях по регистру "Затраты" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ.
*/
			//НоваяСтрока = НаборЗаписейЗатраты.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Подразделение = СтрокаВыборки.ПодразделениеПолучатель;
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатратПолучатель;
			//НоваяСтрока.Заказ = СтрокаВыборки.ЗаказПолучатель;
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете
	   И СтрокаВыборки.ХарактерЗатрат = Перечисления.ХарактерЗатрат.Прочие*/)
			{
				//НоваяСтрока.НоменклатурнаяГруппа = Неопределено;
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетДт;
			}
			//НоваяСтрока.КодОперации = Перечисления.КодыОперацийЗатраты.ВнутренниеУслугиНаПостоянныеЗатраты;
			//НоваяСтрока.Сумма = СуммаКорректировки;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = СуммаКорректировкиПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = СуммаКорректировкиВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатраты.Количество() = 1000*/)
			{
				//НаборЗаписейЗатраты.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатраты()
		// Процедура формирует движение по регистру "Брак в производстве".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//  СуммаКорректировкиПостояннаяРазница - Число - Сумма корректировки в части постоянной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Сумма корректировки в части временной разницы
		//	НаборЗаписейБракВПроизводстве - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Брак в производстве".
		//

		public void СформироватьДвиженияПоРегиструБракВПроизводстве(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	СуммаКорректировкиПостояннаяРазница,
	СуммаКорректировкиВременнаяРазница,
	НаборЗаписейБракВПроизводстве
	*/)
		{
			if(true/*СуммаКорректировки = 0
	   И СуммаКорректировкиПостояннаяРазница = 0
	   И СуммаКорректировкиВременнаяРазница = 0*/)
			{
			}
			/*// В движениях по регистру "Брак в производстве" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции.
*/
			//НоваяСтрока = НаборЗаписейБракВПроизводстве.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Подразделение = СтрокаВыборки.ПодразделениеПолучатель;
			//НоваяСтрока.НоменклатурнаяГруппа = СтрокаВыборки.НоменклатурнаяГруппаПолучатель;
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатратПолучатель;
			//НоваяСтрока.Заказ = СтрокаВыборки.ЗаказПолучатель;
			//НоваяСтрока.Продукция = СтрокаВыборки.ПродукцияПолучатель;
			//НоваяСтрока.ХарактеристикаПродукции = СтрокаВыборки.ХарактеристикаПродукцииПолучатель;
			//НоваяСтрока.СерияПродукции = СтрокаВыборки.СерияПродукцииПолучатель;
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетДт;
			}
			//НоваяСтрока.КодОперации = Перечисления.КодыОперацийБракВПроизводстве.ВнутренниеУслугиНаПостоянныеЗатраты;
			//НоваяСтрока.Сумма = СуммаКорректировки;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = СуммаКорректировкиПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = СуммаКорректировкиВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейБракВПроизводстве.Количество() = 1000*/)
			{
				//НаборЗаписейБракВПроизводстве.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструБракВПроизводстве()
		// Процедура формирует движение по регистру "Продажи себестоимость".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	Проект - СправочникСсылка.Проекты - Проект
		//  СуммаКорректировки - Число - Сумма корректировки
		//	НаборЗаписейПродажиСебестоимость - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Продажи себестоимость".
		//

		public void СформироватьДвиженияПоРегиструПродажиСебестоимость(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Проект,
	СуммаКорректировки,
	НаборЗаписейПродажиСебестоимость
	*/)
		{
			if(true/*СуммаКорректировки = 0*/)
			{
			}
			/*// В движениях по регистру "Продажи себестоимость" должны быть заполнены измерения:
*/
			/*//	- Номенклатура
*/
			/*//	- ХарактеристикаНоменклатуры
*/
			/*//	- ЗаказПокупателя
*/
			/*//	- ДокументОприходования
*/
			/*//	- Подразделение
*/
			/*//	- Проект
*/
			/*//
*/
			/*// Ресурсы:
*/
			/*//	- Стоимость
*/
			//НоваяСтрока = НаборЗаписейПродажиСебестоимость.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Номенклатура = СтрокаВыборки.Продукция;
			//НоваяСтрока.ХарактеристикаНоменклатуры = СтрокаВыборки.ХарактеристикаПродукции;
			//НоваяСтрока.ЗаказПокупателя = СтрокаВыборки.Заказ;
			//НоваяСтрока.ДокументОприходования = СтрокаВыборки.ДокументВыпуска;
			//НоваяСтрока.Подразделение = СтрокаВыборки.Подразделение;
			//НоваяСтрока.Проект = Проект;
			//НоваяСтрока.ДокументДвижения = СтрокаВыборки.ДокументВыпуска;
			//НоваяСтрока.ДокументДвиженияПериод = СтрокаВыборки.ДокументВыпускаДата;
			//НоваяСтрока.Стоимость = СуммаКорректировки;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейПродажиСебестоимость.Количество() = 1000*/)
			{
				//НаборЗаписейПродажиСебестоимость.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструПродажиСебестоимость()
		// Процедура формирует движение по регистру "Строительство объектов основных средств".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//	НаборЗаписейСтроительствоОбъектовОсновныхСредств - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Строительство объектов основных средств".
		//

		public void СформироватьДвиженияПоРегиструСтроительствоОбъектовОсновныхСредств(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	НаборЗаписейСтроительствоОбъектовОсновныхСредств
	*/)
		{
			if(true/*СуммаКорректировки = 0*/)
			{
			}
			//НоваяСтрока = НаборЗаписейСтроительствоОбъектовОсновныхСредств.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.ОбъектСтроительства = СтрокаВыборки.ОбъектСтроительства;
			//НоваяСтрока.Сумма = СуммаКорректировки;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейСтроительствоОбъектовОсновныхСредств.Количество() = 1000*/)
			{
				//НаборЗаписейСтроительствоОбъектовОсновныхСредств.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструСтроительствоОбъектовОсновныхСредств()
		// Процедура формирует движение по регистру "затраты на строительство объектов основных средств".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  СуммаКорректировки - Число - Сумма корректировки
		//	НаборЗаписейЗатратыНаСтроительствоОбъектовОсновныхСредств - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на строительство объектов основных средств".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаСтроительствоОбъектовОсновныхСредств(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СуммаКорректировки,
	НаборЗаписейЗатратыНаСтроительствоОбъектовОсновныхСредств
	*/)
		{
			if(true/*СуммаКорректировки = 0*/)
			{
			}
			//НоваяСтрока = НаборЗаписейЗатратыНаСтроительствоОбъектовОсновныхСредств.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.ОбъектСтроительства = СтрокаВыборки.ОбъектСтроительства;
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатратПолучатель;
			//НоваяСтрока.Сумма = СуммаКорректировки;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаСтроительствоОбъектовОсновныхСредств.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаСтроительствоОбъектовОсновныхСредств.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаСтроительствоОбъектовОсновныхСредств()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА ДОСПИСАНИЯ СТОИМОСТИ ПО НАПРАВЛЕНИЯМ ВЫПУСКА
		// Процедура выполняет распределение себестоимости по проектам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по выпуску продукции
		//	ВыборкаРаспределениеПоПроектам - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса распределения по проектам
		//	Стоимость - Число - Стоимость выпущенной продукции по управленческому учету
		//	НаборЗаписейПродажиСебестоимость - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Продажи себестоимость".
		//

		public void РаспределитьПродажиСебестоимостьПоПроектам(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ВыборкаРаспределениеПоПроектам,
	Стоимость,
	НаборЗаписейПродажиСебестоимость
	*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ВедениеУчетаПоПроектам*/)
			{
				//Проект = Справочники.Проекты.ПустаяСсылка();
			}
			//ВсегоБазаРаспределения = 0;
			if(true/*ТипЗнч(Проект) = Тип("СправочникСсылка.ВидыРаспределенияПоПроектам")*/)
			{
				//СтруктураПоиска = Новый Структура("ВидРаспределения", Проект);
				//МассивКоэф = Новый Массив;
				//ВыборкаРаспределениеПоПроектам.Сбросить();
				while(true/*ВыборкаРаспределениеПоПроектам.НайтиСледующий(СтруктураПоиска)*/)
				{
					//МассивКоэф.Добавить(ВыборкаРаспределениеПоПроектам.ДоляРаспределения);
					//ВсегоБазаРаспределения = ВсегоБазаРаспределения + ВыборкаРаспределениеПоПроектам.ДоляРаспределения;
				}
				if(true/*ВсегоБазаРаспределения = 0*/)
				{
					//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение себестоимости продаж по виду распределения """ + Проект + """", СтатусСообщения.Внимание);
					//Проект = Справочники.Проекты.ПустаяСсылка();
				}
			}
			if(true/*ВсегоБазаРаспределения <> 0*/)
			{
				//МассивКоличество = ОбщегоНазначения.РаспределитьПропорционально(СтрокаВыборки.Количество, МассивКоэф, 3);
				//МассивСтоимость  = ОбщегоНазначения.РаспределитьПропорционально(Стоимость, МассивКоэф, 2);
				//Индекс = 0;
				//ВыборкаРаспределениеПоПроектам.Сбросить();
				while(true/*ВыборкаРаспределениеПоПроектам.НайтиСледующий(СтруктураПоиска)*/)
				{
					//Количество = ?(МассивКоличество = Неопределено, 0, МассивКоличество[Индекс]);
					//Сумма      = ?(МассивСтоимость = Неопределено, 0, МассивСтоимость[Индекс]);
					/*СформироватьДвиженияПоРегиструПродажиСебестоимость(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				ВыборкаРаспределениеПоПроектам.Проект,
				Сумма,
				НаборЗаписейПродажиСебестоимость
			);*/
					//Индекс = Индекс + 1;
				}
				//;;
			}
		}
		// РаспределитьПродажиСебестоимостьПоПроектам()
		// Процедура формирует движения по направлениям выпуска
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости".
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	ВыборкаРаспределениеПоПроектам - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса по коэффициентам распределения по проектам
		//	НомерПередела - Число - Текущий номер передела
		//  СуммаЗатрат - Число - Полная сумма затрат на выпуск продукции
		//  СуммаКорректировки - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца
		//  СуммаЗатратПостояннаяРазница - Число - Полная сумма затрат на выпуск продукции в части постоянной разницы
		//  СуммаКорректировкиПостояннаяРазница - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца,
		//		в части постоянной разницы
		//  СуммаЗатратВременнаяРазница - Число - Полная сумма затрат на выпуск продукции в части временной разницы
		//  СуммаКорректировкиВременнаяРазница - Число - Разница между полной суммой затрат и учетной суммой выпуска продукции в течение месяца,
		//		в части временной разницы
		//	СоответствиеКодОперацииСодержание - Соответствие - Соответствие кода операции выпуска и содержания проводки
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//  СтруктураДвижений - Структура - Наборы движений по регистрам
		//	ТабТоваров - ТаблицаЗначений - Таблица продукции для передачи в модуль партионного учета.
		//

		public void ДосписатьПоНаправлениюВыпуска(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ВыборкаРаспределениеПоПроектам,
	НомерПередела,
	СуммаЗатрат,
	СуммаКорректировки,
	СуммаЗатратПостояннаяРазница,
	СуммаКорректировкиПостояннаяРазница,
	СуммаЗатратВременнаяРазница,
	СуммаКорректировкиВременнаяРазница,
	СоответствиеКодОперацииСодержание,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска,
	СтруктураДвижений,
	ТабТоваров
	*/)
		{
			/*СформироватьДвиженияПоРегиструВыпускПродукции(
		СтруктураШапкиДокумента,
		СтрокаВыборки,
		СуммаКорректировки,
		СуммаКорректировкиПостояннаяРазница,
		СуммаКорректировкиВременнаяРазница,
		СтруктураДвижений.ДвиженияВыпуск
	);*/
			/*// Сформируем движения по регистру "Партии товаров на складах".
*/
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксНаСклад
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс*/)
			{
				/*СформироватьДвиженияПоРегиструПартииТоваровНаСкладах(
			СтруктураШапкиДокумента,
			СтрокаВыборки,
			СуммаКорректировки,
			СуммаКорректировкиПостояннаяРазница,
			СуммаКорректировкиВременнаяРазница,
			СтруктураДвижений.ДвиженияПартии
		);*/
				if(true/*СуммаКорректировки <> 0
		 ИЛИ СуммаКорректировкиПостояннаяРазница <> 0
		 ИЛИ СуммаКорректировкиВременнаяРазница <> 0*/)
				{
					//НоваяСтрока = ТабТоваров.Добавить();
					//НоваяСтрока.Номенклатура = СтрокаВыборки.Продукция;
					if(true/*НЕ СтруктураШапкиДокумента.УчетПоСредней*/)
					{
						//НоваяСтрока.ДокументОприходования = СтрокаВыборки.ДокументВыпуска;
					}
					if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
					{
						//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетДт;
					}
				}
				if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
				{
					/*// ХарактерЗатрат
*/
					/*КосвенныеЗатраты,
				ЗатратыВстречногоВыпуска,
				СоответствиеКодОперацииСодержание,
				СтруктураДвижений.Операция
			);*/
				}
			}
		}
		// ДосписатьПоНаправлениюВыпуска()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ КОРРЕКИРОВКИ СТОИМОСТИ ПРОДУКЦИИ ПО НАПРАВЛЕНИЯМ ВЫПУСКА
		// Функция получает структуру поиска строк результата запроса по выпуску продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса по затратам на выпуск
		//
		// Возвращаемое значение:
		//	Структура - Структура поиска
		//

		public object ПолучитьСтруктуруПоискаСтрокВыпускаПродукции(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки
	*/)
		{
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("Подразделение", СтрокаВыборки.Подразделение);
			//СтруктураПоиска.Вставить("НоменклатурнаяГруппа", СтрокаВыборки.НоменклатурнаяГруппа);
			//СтруктураПоиска.Вставить("Продукция", СтрокаВыборки.Продукция);
			//СтруктураПоиска.Вставить("ХарактеристикаПродукции", СтрокаВыборки.ХарактеристикаПродукции);
			//СтруктураПоиска.Вставить("СерияПродукции", СтрокаВыборки.СерияПродукции);
			//СтруктураПоиска.Вставить("Спецификация", СтрокаВыборки.Спецификация);
			//СтруктураПоиска.Вставить("Заказ", СтрокаВыборки.Заказ);
			//СтруктураПоиска.Вставить("ОприходованиеНЗП", СтрокаВыборки.ОприходованиеНЗП);
			//СтруктураПоиска.Вставить("КорректировкаНЗП", СтрокаВыборки.КорректировкаНЗП);
			//СтруктураПоиска.Вставить("ВозвратИзНЗП", СтрокаВыборки.ВозвратИзНЗП);
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//СтруктураПоиска.Вставить("СчетУчетаНЗП", СтрокаВыборки.СчетУчетаНЗП);
			}
			return null;
		}
		// ПолучитьСтруктуруПоискаСтрокВыпускаПродукции()
		// Функция проверяет наличие исключаемых направлений выпуска продукции.
		//
		// Параметры
		//	ВыборкаПоЗатратам - ВыборкаИзРезультатаЗапроса - Выборка по затратам на выпуск продукции
		//	ВыборкаПоИсключаемымНаправлениямВыпуска - ВыборкаИзРезультатаЗапроса - Выборка по исключаемым направлениям выпуска
		//
		// Возвращаемое значение:
		//	Булево –	Истина - есть направления выпуска, исключаемые из корректировки,
		//				Ложь - нет направлений выпуска, исключаемых из корректировки.
		//

		public object ЕстьИсключаемыеНаправленияВыпуска(/*
	ВыборкаПоЗатратам,
	ВыборкаПоИсключаемымНаправлениямВыпуска
	*/)
		{
			//СтруктураПоискаРаспределение = Новый Структура;
			//СтруктураПоискаРаспределение.Вставить("Затрата", ВыборкаПоЗатратам.Продукция);
			//СтруктураПоискаРаспределение.Вставить("ХарактеристикаЗатраты", ВыборкаПоЗатратам.ХарактеристикаПродукции);
			//СтруктураПоискаРаспределение.Вставить("СерияЗатраты", ВыборкаПоЗатратам.СерияПродукции);
			//ВыборкаПоИсключаемымНаправлениямВыпуска.Сбросить();
			if(true/*ВыборкаПоИсключаемымНаправлениямВыпуска.НайтиСледующий(СтруктураПоискаРаспределение)*/)
			{
				//ИсключитьНаправлениеВыпуска = Истина;
			}
			return null;
		}
		// ЕстьИсключаемыеНаправленияВыпуска()
		// Функция проверяет направление выпуска на исключаемое из корректировки.
		//
		// Параметры
		//	ВыборкаПоВыпуску - ВыборкаИзРезультатаЗапроса - Выборка по выпуску продукции
		//	ВыборкаПоИсключаемымНаправлениямВыпуска - ВыборкаИзРезультатаЗапроса - Выборка по исключаемым направлениям выпуска
		//
		// Возвращаемое значение:
		//	Булево –	Истина - направление выпуска исключается из корректировки,
		//				Ложь - направление выпуска не исключается из корректировки.
		//

		public object ЭтоИсключаемоеНаправлениеВыпуска(/*
	ВыборкаПоВыпуску,
	ВыборкаПоИсключаемымНаправлениямВыпуска
	*/)
		{
			//ИсключитьНаправлениеВыпуска = Ложь;
			if(true/*ВыборкаПоВыпуску.ПроверятьНаправлениеВыпуска*/)
			{
				//СтруктураПоискаРаспределение = Новый Структура;
				//СтруктураПоискаРаспределение.Вставить("СтатьяЗатрат", ВыборкаПоВыпуску.СтатьяЗатратПолучатель);
				//СтруктураПоискаРаспределение.Вставить("Подразделение", ВыборкаПоВыпуску.ПодразделениеПолучатель);
				if(true/*Не ВыборкаПоВыпуску.НоменклатурнаяГруппаПолучатель.Пустая()*/)
				{
					//СтруктураПоискаРаспределение.Вставить("НоменклатурнаяГруппа", ВыборкаПоВыпуску.НоменклатурнаяГруппаПолучатель);
				}
				//СтруктураПоискаРаспределение.Вставить("Затрата", ВыборкаПоВыпуску.Продукция);
				//СтруктураПоискаРаспределение.Вставить("ХарактеристикаЗатраты", ВыборкаПоВыпуску.ХарактеристикаПродукции);
				//СтруктураПоискаРаспределение.Вставить("СерияЗатраты", ВыборкаПоВыпуску.СерияПродукции);
				//ВыборкаПоИсключаемымНаправлениямВыпуска.Сбросить();
				if(true/*ВыборкаПоИсключаемымНаправлениямВыпуска.НайтиСледующий(СтруктураПоискаРаспределение)*/)
				{
					//ИсключитьНаправлениеВыпуска = Истина;
				}
			}
			return null;
		}
		// ЭтоИсключаемоеНаправлениеВыпуска()
		// Процедура формирует корректирующие движения по выпуску продукции и услуг.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  ЗапросПоЗатратамНаВыпускПродукции - Запрос - Запрос по регистру "Затраты на выпуск продукции" с учетом регистра "Выпуск продукции"
		//  ЗапросПоВыпускуПродукции - Запрос - Запрос по регистру "Выпуск продукции" с направлениями списания продукции
		//  ЗапросПоИсключаемымНаправлениямВыпуска - Запрос - Запрос по списанию на исключаемые направления выпуска
		//	РезультатЗапросаРаспределениеПоПроектам - РезультатЗапроса - Результат запроса по коэффициентам распределения по проектам
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//  СтруктураДвижений - Структура - Наборы движений по регистрам
		//	ТабТоваров - ТаблицаЗначений - Таблица продукции для передачи в модуль партионного учета.
		//

		public void КорректировкаДвиженийПоВыпускуПродукции(/*
	СтруктураШапкиДокумента,
	ЗапросПоЗатратамНаВыпускПродукции,
	ЗапросПоВыпускуПродукции,
	ЗапросПоИсключаемымНаправлениямВыпуска,
	РезультатЗапросаРаспределениеПоПроектам,
	НомерПередела,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска,
	СтруктураДвижений,
	ТабТоваров
	*/)
		{
			/*// Выполним запрос по затратам на выпуск продукции.
*/
			//ЗапросПоЗатратамНаВыпускПродукции.УстановитьПараметр("НомерПередела", НомерПередела);
			//РезультатЗапросаПоЗатратамНаВыпускПродукции = ЗапросПоЗатратамНаВыпускПродукции.Выполнить();
			/*// Выполним запрос по выпуску продукции.
*/
			//ЗапросПоВыпускуПродукции.УстановитьПараметр("НомерПередела", НомерПередела);
			//РезультатЗапросаПоВыпускуПродукции = ЗапросПоВыпускуПродукции.Выполнить();
			//ВыборкаПоВыпуску = РезультатЗапросаПоВыпускуПродукции.Выбрать();
			/*// Выполним запрос по исключаемым направлениям выпуска.
*/
			//РезультатЗапросаПоИсключаемымНаправлениямВыпуска = ЗапросПоИсключаемымНаправлениямВыпуска.Выполнить();
			//ВыборкаПоИсключаемымНаправлениямВыпуска = РезультатЗапросаПоИсключаемымНаправлениямВыпуска.Выбрать();
			/*// Выберем коэффициенты распределения по проектам.
*/
			//ВыборкаРаспределениеПоПроектам = РезультатЗапросаРаспределениеПоПроектам.Выбрать();
			//ОбходПоЗатратам = РезультатЗапросаПоЗатратамНаВыпускПродукции.Выбрать();
			while(true/*ОбходПоЗатратам.Следующий()*/)
			{
				/*// Выберем выпуск продукции с направлениями списания.
*/
				/*СтруктураПоискаВыпуск = ПолучитьСтруктуруПоискаСтрокВыпускаПродукции(
			СтруктураШапкиДокумента,
			ОбходПоЗатратам
		);*/
				//ВсегоКоличество = ОбходПоЗатратам.Количество;
				//ВсегоСуммаЗатрат = ОбходПоЗатратам.СуммаЗатрат;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ВсегоПостояннаяРазница = ОбходПоЗатратам.СуммаЗатратПостояннаяРазница;
					//ВсегоВременнаяРазница = ОбходПоЗатратам.СуммаЗатратВременнаяРазница;
					//ВсегоОбщаяСуммаЗатрат = ВсегоСуммаЗатрат + ВсегоПостояннаяРазница + ВсегоВременнаяРазница;
				}
				/*// Проверим наличие исключаемых направлений выпуска.
*/
				if(true/*(КосвенныеЗатраты ИЛИ ЗатратыВстречногоВыпуска)
		   И Не РезультатЗапросаПоИсключаемымНаправлениямВыпуска.Пустой()*/)
				{
					/*ЕстьИсключаемыеНаправления = ЕстьИсключаемыеНаправленияВыпуска(
				ОбходПоЗатратам,
				ВыборкаПоИсключаемымНаправлениямВыпуска
			);*/
				}
				/*// Вычтем стоимость исключаемых направлений выпуска из общих затрат на выпуск. 
*/
				if(true/*ЕстьИсключаемыеНаправления*/)
				{
					//ВыборкаПоВыпуску.Сбросить();
					while(true/*ВыборкаПоВыпуску.НайтиСледующий(СтруктураПоискаВыпуск)*/)
					{
						if(true/*ВыборкаПоВыпуску.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПроизводство
				 ИЛИ ВыборкаПоВыпуску.КодОперации = Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты*/)
						{
							/*ИсключитьНаправлениеВыпуска = ЭтоИсключаемоеНаправлениеВыпуска(
						ВыборкаПоВыпуску,
						ВыборкаПоИсключаемымНаправлениямВыпуска
					);*/
							if(true/*ИсключитьНаправлениеВыпуска*/)
							{
								//ВсегоКоличество = ВсегоКоличество - ВыборкаПоВыпуску.Количество;
								//ВсегоСуммаЗатрат = ВсегоСуммаЗатрат - ВыборкаПоВыпуску.Стоимость;
								if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
								{
									//ВсегоПостояннаяРазница = ВсегоПостояннаяРазница - ВыборкаПоВыпуску.ПостояннаяРазница;
									//ВсегоВременнаяРазница = ВсегоВременнаяРазница - ВыборкаПоВыпуску.ВременнаяРазница;
									/*ВсегоОбщаяСуммаЗатрат = ВсегоОбщаяСуммаЗатрат 
								- ВыборкаПоВыпуску.Стоимость
								- ВыборкаПоВыпуску.ПостояннаяРазница
								- ВыборкаПоВыпуску.ВременнаяРазница;*/
								}
							}
						}
					}
					//;;
				}
				/*// Распределим затраты на выпуск продукции по направлениям выпуска.
*/
				//ВыборкаПоВыпуску.Сбросить();
				while(true/*ВыборкаПоВыпуску.НайтиСледующий(СтруктураПоискаВыпуск)*/)
				{
					if(true/*ЕстьИсключаемыеНаправления*/)
					{
						/*ИсключитьНаправлениеВыпуска = ЭтоИсключаемоеНаправлениеВыпуска(
					ВыборкаПоВыпуску,
					ВыборкаПоИсключаемымНаправлениямВыпуска
				);*/
					}
					//СуммаЗатрат = 0;
					//СуммаЗатратПостояннаяРазница = 0;
					//СуммаЗатратВременнаяРазница = 0;
					//ОбщаяСуммаЗатрат = 0;
					if(true/*ИсключитьНаправлениеВыпуска*/)
					{
					}
					//СуммаКорректировки = СуммаЗатрат - ВыборкаПоВыпуску.Стоимость;
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//СуммаКорректировкиПостояннаяРазница = СуммаЗатратПостояннаяРазница - ВыборкаПоВыпуску.ПостояннаяРазница;
						//СуммаКорректировкиВременнаяРазница = СуммаЗатратВременнаяРазница - ВыборкаПоВыпуску.ВременнаяРазница;
					}
					if(true/*(СуммаЗатрат + СуммаЗатратПостояннаяРазница + СуммаЗатратВременнаяРазница) < 0*/)
					{
						/*ОбщегоНазначения.Сообщение("Обнаружена отрицательная сумма затрат на выпуск продукции:
					|Подразделение: " + ВыборкаПоВыпуску.Подразделение + "
					|Номенклатурная группа: " + ВыборкаПоВыпуску.НоменклатурнаяГруппа + "
					|Продукция: " + ВыборкаПоВыпуску.Продукция + ", " + 
						ВыборкаПоВыпуску.ХарактеристикаПродукции + ", " + 
						ВыборкаПоВыпуску.СерияПродукции + "
					|Заказ: " + ВыборкаПоВыпуску.Заказ + "
					|Сумма затрат: " + 
						(СуммаЗатрат + СуммаЗатратПостояннаяРазница + СуммаЗатратВременнаяРазница) + "
					|", СтатусСообщения.Важное);*/
					}
					/*ДосписатьПоНаправлениюВыпуска(
				СтруктураШапкиДокумента,
				ВыборкаПоВыпуску,
				ВыборкаРаспределениеПоПроектам,
				НомерПередела,
				СуммаЗатрат,
				СуммаКорректировки,
				СуммаЗатратПостояннаяРазница,
				СуммаКорректировкиПостояннаяРазница,
				СуммаЗатратВременнаяРазница,
				СуммаКорректировкиВременнаяРазница,
				СоответствиеКодОперацииСодержание,
				КосвенныеЗатраты,
				ЗатратыВстречногоВыпуска,
				СтруктураДвижений,
				ТабТоваров
			);*/
				}
				if(true/*ВсегоСуммаЗатрат <> 0*/)
				{
					/*ОбщегоНазначения.Сообщение("Не удалось распределить по направлениям выпуска:
				|Подразделение: " + ОбходПоЗатратам.Подразделение + "
				|Номенклатурная группа: " + ОбходПоЗатратам.НоменклатурнаяГруппа + "
				|Продукция: " + ОбходПоЗатратам.Продукция + 
					", " + ОбходПоЗатратам.ХарактеристикаПродукции + 
					", " + ОбходПоЗатратам.СерияПродукции + "
				|Заказ: " + ОбходПоЗатратам.Заказ + "
				|Сумма затрат: " + ВсегоСуммаЗатрат + "
				|" + ?(ЗатратыВстречногоВыпуска, 
						"Проверьте правильность заполнения регистра ""Встречный выпуск продукции (услуг)"".", 
						""
					) + "
				|", СтатусСообщения.Важное);*/
				}
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияПартии.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияПартии.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияЗатраты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияВыпуск.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияБракВПроизводстве.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияБракВПроизводстве.Записать(Ложь);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				if(true/*СтруктураДвижений.ДвиженияПродажиСебестоимость.Модифицированность()*/)
				{
					//СтруктураДвижений.ДвиженияПродажиСебестоимость.Записать(Ложь);
				}
				if(true/*СтруктураДвижений.ЗатратыНаСтроительствоОбъектовОсновныхСредств.Модифицированность()*/)
				{
					//СтруктураДвижений.ЗатратыНаСтроительствоОбъектовОсновныхСредств.Записать(Ложь);
				}
				if(true/*СтруктураДвижений.СтроительствоОбъектовОсновныхСредств.Модифицированность()*/)
				{
					//СтруктураДвижений.СтроительствоОбъектовОсновныхСредств.Записать(Ложь);
				}
			}
			//ТабТоваров.Свернуть("Номенклатура, ДокументОприходования, СчетУчета");
		}
		// КорректировкаДвиженийПоВыпускуПродукции()
		// Процедура формирует движения в регистры по прочим затратам по налоговому учету.
		//

		public void ДвиженияПоПрочимЗатратамНал(/*ТабЧасть, СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений, ДопПараметры*/)
		{
			//ТаблицаДвиженийНЗП_Нал = СтруктураТаблицДвижений.ТаблицаДвиженийНЗП.СкопироватьКолонки();
			//ТаблицаДвиженийЗатраты_Нал = СтруктураТаблицДвижений.ТаблицаДвиженийЗатраты.СкопироватьКолонки();
			//ТаблицаДвиженийБрак_Нал = СтруктураТаблицДвижений.ТаблицаДвиженийБракВПроизводстве.СкопироватьКолонки();
			//КодОперацииНЗП = ДопПараметры["КодОперацииНЗП"];
			//КодОперацииЗатр = ДопПараметры["КодОперацииЗатр"];
			/*// Обход таб. части
*/
			//ВидДвижения = ДопПараметры["ВидДвижения"];
			//ВыполнитьПриход = (ВидДвижения = "Приход");
			/*// Записать движения.
*/
			if(true/*СтруктураДвижений.ДвиженияНЗП <> Неопределено*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.мПериод          = СтруктураШапкиДокумента.Период;
				//СтруктураДвижений.ДвиженияНЗП.мТаблицаДвижений = ТаблицаДвиженийНЗП_Нал;
				if(true/*ВыполнитьПриход*/)
				{
					//СтруктураДвижений.ДвиженияНЗП.ВыполнитьПриход();
					//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
				}
			}
			if(true/*СтруктураДвижений.ДвиженияЗатраты <> Неопределено*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.мПериод          = СтруктураШапкиДокумента.Период;
				//СтруктураДвижений.ДвиженияЗатраты.мТаблицаДвижений = ТаблицаДвиженийЗатраты_Нал;
				if(true/*ВыполнитьПриход*/)
				{
					//СтруктураДвижений.ДвиженияЗатраты.ВыполнитьПриход();
					//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
				}
			}
			if(true/*СтруктураДвижений.ДвиженияБракВПроизводстве <> Неопределено*/)
			{
				//СтруктураДвижений.ДвиженияБракВПроизводстве.мПериод          = СтруктураШапкиДокумента.Период;
				//СтруктураДвижений.ДвиженияБракВПроизводстве.мТаблицаДвижений = ТаблицаДвиженийБрак_Нал;
				if(true/*ВыполнитьПриход*/)
				{
					//СтруктураДвижений.ДвиженияБракВПроизводстве.ВыполнитьПриход();
					//СтруктураДвижений.ДвиженияБракВПроизводстве.Записать(Ложь);
				}
			}
		}
		// ДвиженияПоПрочимЗатратамНал()
		//Закрытие счетов косвенных расходов
		//Н20.01.2, Н23.02, Н25.02, Н26, Н28.02, Н29.02, Н44

		public void ЗакрытиеСчетовКосвенныхРасходовПроизводство(/*СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений = Неопределено*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
			}
			//ОчищатьСтруктуруДвижений = (СтруктураДвижений = Неопределено);
			if(true/*СтруктураДвижений = Неопределено*/)
			{
				//СтруктураИмен = Новый Структура("НезавершенноеПроизводство, Операция");
				//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			}
			//ТаблицаЗатрат = УправлениеЗатратами.СформироватьТаблицуЗатрат();
			//ТаблицаЗатратПриход = ТаблицаЗатрат.Скопировать();
			//Нормируемые = Новый Массив;
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахование);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахованиеНаСлучайСмертиИлиУтратыРаботоспособности);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеСтрахованиеПоДоговорамДолгосрочногоСтрахованияЖизниРаботников);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ПредставительскиеРасходы);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.РасходыНаРекламуНормируемые);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ТранспортныеРасходы);
			//СчетаУчета = Новый Массив;
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеРасходыОсновногоПроизводства);
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеРасходыВспомогательныхПроизводств);
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеРасходыОбслуживающихПроизводств);
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Нормируемые",  Нормируемые);
			//Запрос.УстановитьПараметр("КонГраница",   СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация",  СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("СчетаУчета",   СчетаУчета);
			/*Запрос.Текст = "
	|ВЫБРАТЬ
	|	НезавершенноеПроизводство.Подразделение			КАК Подразделение,
	|	НезавершенноеПроизводство.СчетУчета				КАК СчетУчета,
	|	НезавершенноеПроизводство.СтатьяЗатрат			КАК СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ХарактерЗатрат КАК ХарактерЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа	КАК НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ					КАК Заказ,
	|	НезавершенноеПроизводство.Затрата				КАК Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты	КАК ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты			КАК СерияЗатраты,
	|	СУММА(НезавершенноеПроизводство.КоличествоОстаток)			КАК Количество,
	|	СУММА(	ВЫБОР КОГДА НезавершенноеПроизводство.СтатьяЗатрат.ВидРасходовНУ В (&Нормируемые) ТОГДА
	|				0
	|			ИНАЧЕ
	|				НезавершенноеПроизводство.СтоимостьОстаток
	|			КОНЕЦ
	|		) КАК Сумма,
	|	СУММА(НезавершенноеПроизводство.ПостояннаяРазницаОстаток)	КАК ПостояннаяРазница,
	|	СУММА(НезавершенноеПроизводство.ВременнаяРазницаОстаток)	КАК ВременнаяРазница
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводствоНалоговыйУчет.Остатки(&КонГраница, СчетУчета В(&СчетаУчета) И Организация = &Организация) КАК НезавершенноеПроизводство
	|
	|СГРУППИРОВАТЬ ПО
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты
	|
	|УПОРЯДОЧИТЬ ПО
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты
	|";*/
			//ТаблицаЗапроса = Запрос.Выполнить().Выгрузить();
			if(true/*ТаблицаЗатрат.Количество() > 0*/)
			{
				//СтруктДопПараметры = Новый Структура;
				//СтруктДопПараметры.Вставить("КодОперацииНЗП",  	Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеПрочихЗатратВПроизводство);
				//СтруктДопПараметры.Вставить("КодОперацииЗатр", 	Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты);
				//СтруктДопПараметры.Вставить("ВидДвижения",   	"Расход");
				//ДвиженияПоПрочимЗатратамНал(ТаблицаЗатрат, СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений, СтруктДопПараметры);
			}
			if(true/*ТаблицаЗатратПриход.Количество() > 0*/)
			{
				//СтруктДопПараметры = Новый Структура;
				//СтруктДопПараметры.Вставить("КодОперацииНЗП",  	Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеПрочихЗатратВПроизводство);
				//СтруктДопПараметры.Вставить("КодОперацииЗатр", 	Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты);
				//СтруктДопПараметры.Вставить("ВидДвижения",   	"Приход");
				//ДвиженияПоПрочимЗатратамНал(ТаблицаЗатратПриход, СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений, СтруктДопПараметры);
			}
			if(true/*СтруктураДвижений.Операция.Количество() > 0*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
			if(true/*ОчищатьСтруктуруДвижений*/)
			{
				//СтруктураДвижений = Неопределено;
			}
		}
		// ЗакрытиеСчетовКосвенныхРасходовПроизводство()
		//Закрытие счетов косвенных расходов
		//Н20.01.2, Н23.02, Н25.02, Н26, Н28.02, Н29.02, Н44

		public void ЗакрытиеСчетовКосвенныхРасходов(/*СтруктураШапкиДокумента, ДиректКостинг, СтруктураТаблицДвижений, СтруктураДвижений = Неопределено*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
			}
			//ОчищатьСтруктуруДвижений = (СтруктураДвижений = Неопределено);
			if(true/*СтруктураДвижений = Неопределено*/)
			{
				//СтруктураИмен = Новый Структура("Затраты, БракВПроизводстве, Операция");
				//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			}
			//ТаблицаЗатрат = УправлениеЗатратами.СформироватьТаблицуЗатрат();
			//ТаблицаЗатратПриход = ТаблицаЗатрат.Скопировать();
			//Нормируемые = Новый Массив;
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахование);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахованиеНаСлучайСмертиИлиУтратыРаботоспособности);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеСтрахованиеПоДоговорамДолгосрочногоСтрахованияЖизниРаботников);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ПредставительскиеРасходы);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.РасходыНаРекламуНормируемые);
			//Нормируемые.Добавить(Перечисления.ВидыРасходовНУ.ТранспортныеРасходы);
			//СчетаУчета = Новый Массив;
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщепроизводственныеРасходы);
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеРасходыПоВыявленномуБраку);
			//СчетаУчета.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщехозяйственныеРасходы);
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Нормируемые",  Нормируемые);
			//Запрос.УстановитьПараметр("КонГраница",   СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация",  СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("СчетаУчета",   СчетаУчета);
			/*Запрос.Текст = "
	|ВЫБРАТЬ
	|	БракВПроизводстве.Подразделение КАК Подразделение,
	|	БракВПроизводстве.СчетУчета КАК СчетУчета,
	|	БракВПроизводстве.СтатьяЗатрат КАК СтатьяЗатрат,
	|	БракВПроизводстве.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	БракВПроизводстве.Заказ КАК Заказ,
	|	БракВПроизводстве.Продукция КАК Продукция,
	|	БракВПроизводстве.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
	|	БракВПроизводстве.СерияПродукции КАК СерияПродукции,
	|	СУММА(БракВПроизводстве.СуммаОстаток) КАК Сумма,
	|	СУММА(БракВПроизводстве.ПостояннаяРазницаОстаток) 	КАК ПостояннаяРазница,
	|	СУММА(БракВПроизводстве.ВременнаяРазницаОстаток)	КАК ВременнаяРазница
	|ИЗ
	|	РегистрНакопления.БракВПроизводствеНалоговыйУчет.Остатки(&КонГраница, 
	|		СчетУчета В(&СчетаУчета) 
	|		И Организация = &Организация
	|		И СтатьяЗатрат.ВидРасходовНУ Не В (&Нормируемые)
	|	) КАК БракВПроизводстве
	|
	|СГРУППИРОВАТЬ ПО
	|	БракВПроизводстве.Подразделение,
	|	БракВПроизводстве.СчетУчета,
	|	БракВПроизводстве.СтатьяЗатрат,
	|	БракВПроизводстве.НоменклатурнаяГруппа,
	|	БракВПроизводстве.Заказ,
	|	БракВПроизводстве.Продукция,
	|	БракВПроизводстве.ХарактеристикаПродукции,
	|	БракВПроизводстве.СерияПродукции
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	Затраты.Подразделение,
	|	Затраты.СчетУчета,
	|	Затраты.СтатьяЗатрат,
	|	Затраты.НоменклатурнаяГруппа,
	|	Затраты.Заказ,
	|	Неопределено КАК Продукция,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	Неопределено КАК СерияПродукции,
	|	СУММА(Затраты.СуммаОстаток),
	|	СУММА(Затраты.ПостояннаяРазницаОстаток),
	|	СУММА(Затраты.ВременнаяРазницаОстаток)
	|ИЗ
	|	РегистрНакопления.ЗатратыНалоговыйУчет.Остатки(&КонГраница, 
	|		СчетУчета В(&СчетаУчета)
	|		И Организация = &Организация
	|		И СтатьяЗатрат.ВидРасходовНУ Не В (&Нормируемые)
	|	) КАК Затраты
	|
	|СГРУППИРОВАТЬ ПО
	|	Затраты.Подразделение,
	|	Затраты.СчетУчета,
	|	Затраты.СтатьяЗатрат,
	|	Затраты.НоменклатурнаяГруппа,
	|	Затраты.Заказ
	|
	|УПОРЯДОЧИТЬ ПО
	|	Подразделение,
	|	СчетУчета,
	|	СтатьяЗатрат,
	|	НоменклатурнаяГруппа,
	|	Заказ,
	|	Продукция,
	|	ХарактеристикаПродукции,
	|	СерияПродукции
	|";*/
			//ТаблицаЗапроса = Запрос.Выполнить().Выгрузить();
			if(true/*ТаблицаЗатрат.Количество() > 0*/)
			{
				//СтруктДопПараметры = Новый Структура;
				//СтруктДопПараметры.Вставить("КодОперацииНЗП",  	Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеПрочихЗатратВПроизводство);
				//СтруктДопПараметры.Вставить("КодОперацииЗатр", 	Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты);
				//СтруктДопПараметры.Вставить("ВидДвижения",   	"Расход");
				//ДвиженияПоПрочимЗатратамНал(ТаблицаЗатрат, СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений, СтруктДопПараметры);
			}
			if(true/*ТаблицаЗатратПриход.Количество() > 0*/)
			{
				//СтруктДопПараметры = Новый Структура;
				//СтруктДопПараметры.Вставить("КодОперацииНЗП",  	Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеПрочихЗатратВПроизводство);
				//СтруктДопПараметры.Вставить("КодОперацииЗатр", 	Перечисления.КодыОперацийЗатраты.ПрочиеПостоянныеЗатраты);
				//СтруктДопПараметры.Вставить("ВидДвижения",   	"Приход");
				//ДвиженияПоПрочимЗатратамНал(ТаблицаЗатратПриход, СтруктураШапкиДокумента, СтруктураТаблицДвижений, СтруктураДвижений, СтруктДопПараметры);
			}
			if(true/*СтруктураДвижений.Операция.Количество() > 0*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
			if(true/*ОчищатьСтруктуруДвижений*/)
			{
				//СтруктураДвижений = Неопределено;
			}
		}
		// ЗакрытиеСчетовКосвенныхРасходов()
		// Процедура формирует проводку по списанию затрат на расходы будущих периодов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	РасходыБудущихПериодов - СправочникСсылка.РасходыБудущихПериодов - Текущий элемент расходов будущих периодов
		//  Сумма - Число - Сумма проводки
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоСписаниюЗатратНаРБП(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	РасходыБудущихПериодов,
	Сумма,
	ВидУчетаПоПБУ18,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Сумма = 0*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходыБудущихПериодов;
			}
			//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
			//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
			//НоваяПроводка.Активность  = Истина;
			//НоваяПроводка.Период      = СтруктураШапкиДокумента.Период;
			//НоваяПроводка.Содержание  = "Списание затрат на расходы будущих периодов";
			//НоваяПроводка.Сумма  = Сумма;
			//НоваяПроводка.СчетДт = СчетДт;
			//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "РасходыБудущихПериодов", РасходыБудущихПериодов);
			//НоваяПроводка.СчетКт = СтрокаВыборки.СчетУчета;
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "Подразделения")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Подразделения", СтрокаВыборки.Подразделение);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "НоменклатурныеГруппы")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "НоменклатурныеГруппы", СтрокаВыборки.НоменклатурнаяГруппа);
			}
			if(true/*ЗаполнятьОборотныеСубконто(СтруктураШапкиДокумента) ИЛИ Не УправлениеПроизводством.ПроверитьСубконтоНаОборотное(НоваяПроводка.СчетКт, "СтатьиЗатрат")*/)
			{
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "СтатьиЗатрат", СтрокаВыборки.СтатьяЗатрат);
			}
			if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
	 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
			{
				//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
				//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СформироватьПроводкуПоСписаниюЗатратНаРБП()
		// Процедура производит отнесение затрат на расходы будущих периодов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void ОтнестиНаРасходыБудущихПериодовРегл(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ХарактерЗатрат,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*НЕ СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	   И НЕ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
			}
			/*ЭлементРасходовБудущихПериодов = СоздатьЭлементРасходовБудущихПериодов(
		СтруктураШапкиДокумента,
		СтрокаВыборки,
		ХарактерЗатрат,
		Сумма
	);*/
			/*// Сформируем проводку.
*/
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете
	   И ЗначениеЗаполнено(СтрокаВыборки.СчетУчета)*/)
			{
				/*СформироватьПроводкуПоСписаниюЗатратНаРБП(
			СтруктураШапкиДокумента,
			СтрокаВыборки,
			ЭлементРасходовБудущихПериодов,
			Сумма,
			Перечисления.ВидыУчетаПоПБУ18.ПустаяСсылка(),
			РегистрБухгалтерииНаборЗаписей
		);*/
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					/*СформироватьПроводкуПоСписаниюЗатратНаРБП(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				ЭлементРасходовБудущихПериодов,
				ПостояннаяРазница,
				Перечисления.ВидыУчетаПоПБУ18.ПР,
				РегистрБухгалтерииНаборЗаписей
			);*/
					/*СформироватьПроводкуПоСписаниюЗатратНаРБП(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				ЭлементРасходовБудущихПериодов,
				ВременнаяРазница,
				Перечисления.ВидыУчетаПоПБУ18.ВР,
				РегистрБухгалтерииНаборЗаписей
			);*/
				}
			}
			/*ОбщегоНазначения.Сообщение("Сумма " + Сумма + " отнесена на расходы будущих периодов.
		 |Подразделение: " + СтрокаВыборки.Подразделение + ".
		 |Статья затрат: " + СтрокаВыборки.СтатьяЗатрат + ".
		 |Номенклатурная группа: " + СтрокаВыборки.НоменклатурнаяГруппа + ".
		 |Заказ: " + СтрокаВыборки.Заказ + ".");*/
		}
		// ОтнестиНаРасходыБудущихПериодовРегл()
		// Функция получает строку выборки по способам распределения затрат.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  ВыборкаПоСпособамРаспределенияЗатрат - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса по способам распределения затрат
		//	ОпределятьПоХарактеруЗатрат - Булево - Использовать характер затрат для определения способа распределения
		//	ПроверятьУказаниеСпособаРаспределения - Булево - Признак необходимости проверки указания способа распределения и вывода сообщения,
		//		если способ распределения не указан
		//
		// Выходные параметры
		//	СпособРаспределения - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Заданный способ определения
		//	ХарактерРаспределения - ПеречислениеСсылка.ХарактерРаспределения - Заданный характер распределения
		//	РаспределятьНаПодчиненныеПодразделения - Булево - Признак распределения на подчиненные подразделения.
		//
		// Возвращаемое значение:
		//	Булево – Признак необходимости распределения затрат:
		//				Истина - затраты необходимо распределить по способу распределения,
		//				Ложь - затраты распределять не нужно.
		//

		public object ПолучитьСпособИХарактерРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ВыборкаПоСпособамРаспределенияЗатрат,
	ОпределятьПоХарактеруЗатрат,
	ПроверятьУказаниеСпособаРаспределения,
	СпособРаспределения,
	ХарактерРаспределенияЗатрат = Неопределено,
	РаспределятьНаПодчиненныеПодразделения = Ложь
	*/)
		{
			//РаспределятьЗатраты = Ложь;
			/*// Определим способ распределения затрат.
*/
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("Подразделение", СтрокаВыборки.Подразделение);
			//СтруктураПоиска.Вставить("СтатьяЗатрат", СтрокаВыборки.СтатьяЗатрат);
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				if(true/*ОпределятьПоХарактеруЗатрат*/)
				{
					//СтруктураПоиска.Вставить("ХарактерЗатрат", СтрокаВыборки.ХарактерЗатрат);
				}
			}
			//ВыборкаПоСпособамРаспределенияЗатрат.Сбросить();
			if(true/*ВыборкаПоСпособамРаспределенияЗатрат.НайтиСледующий(СтруктураПоиска)*/)
			{
				//СпособРаспределения = ВыборкаПоСпособамРаспределенияЗатрат.СпособРаспределения;
				//ХарактерРаспределенияЗатрат = ВыборкаПоСпособамРаспределенияЗатрат.ХарактерРаспределенияЗатрат;
				//РаспределятьНаПодчиненныеПодразделения = ВыборкаПоСпособамРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения;
				if(true/*ЗначениеЗаполнено(СпособРаспределения)*/)
				{
					//РаспределятьЗатраты = Не ВыборкаПоСпособамРаспределенияЗатрат.НеРаспределять;
				}
			}
			/*// Если не указан способ распределения, выведем сообщение об ошибке.
*/
			if(true/*ПроверятьУказаниеСпособаРаспределения И Не ЗначениеЗаполнено(СпособРаспределения)*/)
			{
				/*ОбщегоНазначения.Сообщение("Не указан способ распределения для:
			|Подразделение: " + СтрокаВыборки.Подразделение + "
			|Статья затрат: " + СтрокаВыборки.СтатьяЗатрат + "
			|" + ?(Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете, 
				"Счет учета: " + СтрокаВыборки.СчетУчета, "") + "", 
			СтатусСообщения.Важное
		);*/
			}
			return null;
		}
		// ПолучитьСпособИХарактерРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "БАЗА РАСПРЕДЕЛЕНИЯ ЗАТРАТ"
		// Функция формирует текст запроса по регистру сведений "База распределения затрат".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаРаспределенияЗатрат(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Распределение.Подразделение,
	|	Распределение.Продукция,
	|	Распределение.ХарактеристикаПродукции,
	|	Распределение.СерияПродукции,
	|	Распределение.НомерПередела,
	|	Распределение.Продукция.ВестиУчетПоСериямВНЗП КАК ВестиУчетПоСериямВНЗП
	|
	|ПОМЕСТИТЬ РаспределениеПродукцииПоПеределам
	|ИЗ			
	|	РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|
	|ГДЕ
	|	Распределение.Период МЕЖДУ &НачДата И &КонДата
	|	И &РаспределениеКосвенныхЗатрат
	|	И Не Распределение.КорректировкаНЗП
	|	И Не Распределение.ОприходованиеНЗП
	|	И Не Распределение.ВозвратИзНЗП
	|	//ДляРеглУчета И Распределение.Организация = &Организация
 	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции
	|
	|ПОМЕСТИТЬ ВыпускПродукции
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И ВыпускПродукции.КодОперации <> ЗНАЧЕНИЕ(Перечисление.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	МИНИМУМ(Распределение.НомерПередела) КАК НомерПередела
	|
	|ПОМЕСТИТЬ ВыпускПродукцииПоПеределам
	|ИЗ
	|	ВыпускПродукции КАК ВыпускПродукции
	|					
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РаспределениеПродукцииПоПеределам КАК Распределение
	|	ПО
	|		ВыпускПродукции.Подразделение = Распределение.Подразделение
	|		И ВыпускПродукции.Продукция = Распределение.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Распределение.ХарактеристикаПродукции
	|		И ВыпускПродукции.СерияПродукции = Распределение.СерияПродукции
	|					
	|ГДЕ
	|	ВыпускПродукции.НоменклатурнаяГруппа <> ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
	|			
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа
	|			
	|ОБЪЕДИНИТЬ ВСЕ
	|			
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка),
	|	МАКСИМУМ(Распределение.НомерПередела) КАК НомерПередела
	|ИЗ
	|	ВыпускПродукции КАК ВыпускПродукции
	|					
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РаспределениеПродукцииПоПеределам КАК Распределение
	|	ПО
	|		ВыпускПродукции.Подразделение = Распределение.Подразделение
	|		И ВыпускПродукции.Продукция = Распределение.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Распределение.ХарактеристикаПродукции
	|		И (ВыпускПродукции.СерияПродукции = Распределение.СерияПродукции
	|			И Распределение.ВестиУчетПоСериямВНЗП
	|			ИЛИ Не Распределение.ВестиУчетПоСериямВНЗП)
	|					
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение
	|			
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат КАК СпособРаспределения,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения КАК РаспределятьНаПодчиненныеПодразделения,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|	БазаРаспределенияЗатрат.Подразделение КАК ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.Заказ КАК ЗаказНЗП,
	|	ЗНАЧЕНИЕ(Перечисление.ХарактерРаспределенияЗатрат.ПустаяСсылка) КАК ХарактерРаспределенияЗатрат,
	|	
	|	МИНИМУМ(
	|		ЕСТЬNULL(ВыпускПродукции.НомерПередела, 1)
	|		) КАК НомерПередела,
	|
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриходНУ = 0 ТОГДА
	|	//ДляНалУчета 		БазаРаспределенияЗатрат.БазаПриходНУ
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		БазаРаспределенияЗатрат.БазаПриходНУ /
	|	//ДляНалУчета 		ВЫБОР КОГДА БазаРаспределенияЗатратВсего.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияЗатратВсего.БазаПриходНУ = 0 ТОГДА
	|	//ДляНалУчета 			1
	|	//ДляНалУчета 		ИНАЧЕ
	|	//ДляНалУчета 			БазаРаспределенияЗатратВсего.БазаПриходНУ
	|	//ДляНалУчета 		КОНЕЦ
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|	//ДляНалУчета МАКСИМУМ(
	|	//ДляНалУчета 	ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриходНУ = 0 ТОГДА
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		БазаРаспределенияНаПодчиненные.БазаПриходНУ /
	|	//ДляНалУчета 		ВЫБОР КОГДА БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ = 0 ТОГДА
	|	//ДляНалУчета 			1
	|	//ДляНалУчета 		ИНАЧЕ
	|	//ДляНалУчета 			БазаРаспределенияНаПодчиненныеВсего.БазаПриходНУ
	|	//ДляНалУчета 		КОНЕЦ
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаНаПодчиненныеНУ,
	|
	|	СУММА(
	|		ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриход = 0 ТОГДА
	|			БазаРаспределенияЗатрат.БазаПриход
	|		ИНАЧЕ
	|			(БазаРаспределенияЗатрат.БазаПриход /
	|			ВЫБОР КОГДА БазаРаспределенияЗатратВсего.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияЗатратВсего.БазаПриход = 0 ТОГДА
	|				1
	|			ИНАЧЕ
	|				БазаРаспределенияЗатратВсего.БазаПриход
	|			КОНЕЦ)
	|		КОНЕЦ
	|	) КАК БазаПриход,
	|	МАКСИМУМ(
	|		ВЫБОР КОГДА БазаРаспределенияНаПодчиненные.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненные.БазаПриход = 0 ТОГДА
	|			1
	|		ИНАЧЕ
	|			БазаРаспределенияНаПодчиненные.БазаПриход /
	|			ВЫБОР КОГДА БазаРаспределенияНаПодчиненныеВсего.БазаПриход ЕСТЬ NULL ИЛИ БазаРаспределенияНаПодчиненныеВсего.БазаПриход = 0 ТОГДА
	|				1
	|			ИНАЧЕ
	|				БазаРаспределенияНаПодчиненныеВсего.БазаПриход
	|			КОНЕЦ
	|		КОНЕЦ
	|	) КАК БазаНаПодчиненные
	|
	|ИЗ
	|	РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|			
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|			БазаРаспределенияЗатрат.Подразделение,
	|			//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|			//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
	|			СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
	|		ИЗ
	|			РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|		ГДЕ
	|			БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|			И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|			И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|			//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|			//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|			БазаРаспределенияЗатрат.Подразделение
	|
	|		) КАК БазаРаспределенияЗатратВсего
	|	ПО
	|		БазаРаспределенияЗатрат.СпособРаспределенияЗатрат = БазаРаспределенияЗатратВсего.СпособРаспределенияЗатрат
	|		И БазаРаспределенияЗатрат.Подразделение = БазаРаспределенияЗатратВсего.Подразделение			
	|		И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
	|		//ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета = БазаРаспределенияЗатратВсего.СчетУчета
	|			
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|			БазаРаспределенияЗатрат.Подразделение,
	|			//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|			//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
	|			СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
	|		ИЗ
	|			РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|		ГДЕ
	|			БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|			И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|			И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|			//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|			//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|			БазаРаспределенияЗатрат.Подразделение
	|
	|		) КАК БазаРаспределенияНаПодчиненные
	|	ПО
	|		БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.СпособРаспределенияЗатратПоПодразделениям 
	|					= БазаРаспределенияНаПодчиненные.СпособРаспределенияЗатрат
	|		И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
	|		И БазаРаспределенияЗатрат.Подразделение = БазаРаспределенияНаПодчиненные.Подразделение
	|		//ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета 	= БазаРаспределенияНаПодчиненные.СчетУчета
	|				
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|			//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ) КАК БазаПриходНУ,
	|			СУММА(БазаРаспределенияЗатрат.БазаПриход) КАК БазаПриход
	|		ИЗ
	|			РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|		ГДЕ
	|			БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|			И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|			И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|			//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|
	|		СГРУППИРОВАТЬ ПО
	|			БазаРаспределенияЗатрат.СпособРаспределенияЗатрат
	|
	|		) КАК БазаРаспределенияНаПодчиненныеВсего
	|	ПО
	|		БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.СпособРаспределенияЗатратПоПодразделениям 
	|					= БазаРаспределенияНаПодчиненныеВсего.СпособРаспределенияЗатрат
	|		И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ВыпускПродукцииПоПеределам КАК ВыпускПродукции
	|	ПО
	|		БазаРаспределенияЗатрат.Подразделение = ВыпускПродукции.Подразделение
	|		И БазаРаспределенияЗатрат.НоменклатурнаяГруппа = ВыпускПродукции.НоменклатурнаяГруппа
	|			
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			Истина КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		ГДЕ
	|	//ДляБухУчета			Не СчетаУчетаЕНВД.ПодлежитРаспределению
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		БазаРаспределенияЗатрат.СчетУчета = СчетаУчетаЕНВД.Счет
	|			
	|ГДЕ
	|	БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|	И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|	И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособыРаспределения.СпособРаспределенияЗатрат
	|		ИЗ
	|			РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(&КонГраница, 
	|				//ДляРеглУчета Организация = &Организация
	|			) КАК СпособыРаспределения
	|		ГДЕ
	|			Не СпособыРаспределения.НеРаспределять
	|			И ((&РаспределениеКосвенныхЗатрат 
	|				И СпособыРаспределения.ХарактерРаспределенияЗатрат <> &ХарактерРаспределенияПроизводственныеРасходы)
	|				ИЛИ 
	|				(Не &РаспределениеКосвенныхЗатрат 
	|				И СпособыРаспределения.ХарактерРаспределенияЗатрат = &ХарактерРаспределенияПроизводственныеРасходы)
	|				)
	|		)
	|	//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|	//ДляБухУчета И Не БазаРаспределенияЗатрат.СчетУчета.Забалансовый
	|			
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	БазаРаспределенияЗатрат.Заказ
	|			
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	НомерПередела,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаРаспределенияЗатрат()
		// Функция формирует текст запроса по регистру сведений "База распределения затрат".
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаРаспределенияЗатратНаПродукцию(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Распределение.Подразделение,
	|	Распределение.Продукция,
	|	Распределение.ХарактеристикаПродукции,
	|	Распределение.СерияПродукции,
	|	Распределение.НомерПередела,
	|	Распределение.Продукция.ВестиУчетПоСериямВНЗП КАК ВестиУчетПоСериямВНЗП
	|
	|ПОМЕСТИТЬ РаспределениеПродукцииПоПеределам
	|ИЗ			
	|	РегистрСведений.РаспределениеПродукцииПоПеределам%СуффиксОрганизаций% КАК Распределение
	|
	|ГДЕ
	|	Распределение.Период МЕЖДУ &НачДата И &КонДата
	|	И &РаспределениеКосвенныхЗатрат
	|	И Не Распределение.КорректировкаНЗП
	|	И Не Распределение.ОприходованиеНЗП
	|	И Не Распределение.ВозвратИзНЗП
	|	//ДляРеглУчета И Распределение.Организация = &Организация
 	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции
	|
	|ПОМЕСТИТЬ ВыпускПродукции
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И ВыпускПродукции.КодОперации <> ЗНАЧЕНИЕ(Перечисление.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|	И ВыпускПродукции.Продукция В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Продукция
	|		ИЗ
	|			РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|		ГДЕ
	|			БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|			И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|			И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|			//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|		)
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	МИНИМУМ(Распределение.НомерПередела) КАК НомерПередела
	|
	|ПОМЕСТИТЬ ВыпускПродукцииПоПеределам
	|ИЗ
	|	ВыпускПродукции КАК ВыпускПродукции
	|					
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РаспределениеПродукцииПоПеределам КАК Распределение
	|	ПО
	|		ВыпускПродукции.Подразделение = Распределение.Подразделение
	|		И ВыпускПродукции.Продукция = Распределение.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Распределение.ХарактеристикаПродукции
	|		И (ВыпускПродукции.СерияПродукции = Распределение.СерияПродукции
	|			И Распределение.ВестиУчетПоСериямВНЗП
	|			ИЛИ Не Распределение.ВестиУчетПоСериямВНЗП)
	|					
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции
	|			
	|ОБЪЕДИНИТЬ ВСЕ
	|			
	|ВЫБРАТЬ
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка),
	|	ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
	|	ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка),
	|	МИНИМУМ(Распределение.НомерПередела) КАК НомерПередела
	|ИЗ
	|	ВыпускПродукции КАК ВыпускПродукции
	|					
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РаспределениеПродукцииПоПеределам КАК Распределение
	|	ПО
	|		ВыпускПродукции.Подразделение = Распределение.Подразделение
	|		И ВыпускПродукции.Продукция = Распределение.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Распределение.ХарактеристикаПродукции
	|		И ВыпускПродукции.СерияПродукции = Распределение.СерияПродукции
	|					
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа
	|			
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат КАК СпособРаспределения,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат.РаспределятьНаПодчиненныеПодразделения КАК РаспределятьНаПодчиненныеПодразделения,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|	&ПустойХарактерРаспределения КАК ХарактерРаспределенияЗатрат,
	|	
	|	МИНИМУМ(
	|		ЕСТЬNULL(ВыпускПродукции.НомерПередела, 1)
	|		) КАК НомерПередела,
	|
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаНУ) КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаНУ) КАК БазаНУ,
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗПНУ) КАК БазаОстатокНЗПНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.База) КАК БазаПриход,
	|	СУММА(БазаРаспределенияЗатрат.База) КАК База,
	|	СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗП) КАК БазаОстатокНЗП
	|
	|ИЗ
	|	РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|			
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ВыпускПродукцииПоПеределам КАК ВыпускПродукции
	|	ПО
	|		БазаРаспределенияЗатрат.Подразделение = ВыпускПродукции.Подразделение
	|		И БазаРаспределенияЗатрат.НоменклатурнаяГруппа = ВыпускПродукции.НоменклатурнаяГруппа
	|		И БазаРаспределенияЗатрат.Продукция = ВыпускПродукции.Продукция
	|		И БазаРаспределенияЗатрат.ХарактеристикаПродукции = ВыпускПродукции.ХарактеристикаПродукции
	|		И БазаРаспределенияЗатрат.СерияПродукции = ВыпускПродукции.СерияПродукции
	|			
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			Истина КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		ГДЕ
	|	//ДляБухУчета			Не СчетаУчетаЕНВД.ПодлежитРаспределению
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		БазаРаспределенияЗатрат.СчетУчета = СчетаУчетаЕНВД.Счет
	|			
	|ГДЕ
	|	БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И БазаРаспределенияЗатрат.РаспределениеКосвенныхЗатрат = &РаспределениеКосвенныхЗатрат
	|	И БазаРаспределенияЗатрат.РасчетСебестоимостиВыпуска
	|	И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособыРаспределения.СпособРаспределенияЗатрат
	|		ИЗ
	|			РегистрСведений.СпособыРаспределенияСтатейЗатрат%СуффиксОрганизаций%.СрезПоследних(&КонГраница, 
	|				//ДляРеглУчета Организация = &Организация
	|			) КАК СпособыРаспределения
	|		ГДЕ
	|			Не СпособыРаспределения.НеРаспределять
	|			И ((&РаспределениеКосвенныхЗатрат 
	|				И СпособыРаспределения.ХарактерРаспределенияЗатрат <> &ХарактерРаспределенияПроизводственныеРасходы)
	|				ИЛИ 
	|				(Не &РаспределениеКосвенныхЗатрат 
	|				И СпособыРаспределения.ХарактерРаспределенияЗатрат = &ХарактерРаспределенияПроизводственныеРасходы)
	|				)
	|		)
	|	//ДляРеглУчета И БазаРаспределенияЗатрат.Организация = &Организация
	|	//ДляБухУчета И Не БазаРаспределенияЗатрат.СчетУчета.Забалансовый
	|			
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|			
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	БазаРаспределенияЗатрат.СпособРаспределенияЗатрат,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	НомерПередела,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаРаспределенияЗатратНаПродукцию()
		// Функция формирует запрос по регистру сведений "База распределения затрат".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ТекстЗапросаСКомментариями - Текст - Текст запроса
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру сведений "База распределения затрат".
		//

		public object СформироватьЗапросПоБазеРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	ТекстЗапросаСКомментариями,
	КосвенныеЗатраты
	*/)
		{
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("РаспределениеКосвенныхЗатрат", КосвенныеЗатраты);
			//Запрос.УстановитьПараметр("ВыпускПродукцииПоФиксированнойСтоимости", Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//Запрос.УстановитьПараметр("ХарактерРаспределенияПроизводственныеРасходы", Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
			//Запрос.УстановитьПараметр("ПустойХарактерРаспределения", Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяНоменклатурнаяГруппа", Справочники.НоменклатурныеГруппы.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяПродукция", Справочники.Номенклатура.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяХарактеристика", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
			return null;
		}
		// СформироватьЗапросПоБазеРаспределенияЗатрат()
		// Функция получает построитель запроса по базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//
		// Возвращаемое значение:
		//	ПостроительЗапроса - построитель запроса.
		//

		public object ПолучитьПостроительЗапросаПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаБазаРаспределения
	*/)
		{
			//ПостроительЗапроса = Новый ПостроительЗапроса();
			//ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапросаБазаРаспределения);
			//ПостроительЗапроса.Отбор.Добавить("СпособРаспределения");
			//ПостроительЗапроса.Отбор.Добавить("ПодразделениеНЗП");
			//ПостроительЗапроса.Отбор.Добавить("НоменклатурнаяГруппаНЗП");
			//ПостроительЗапроса.Отбор.Добавить("ЗаказНЗП");
			//ПостроительЗапроса.Отбор.Добавить("НомерПередела");
			//ПостроительЗапроса.Отбор.Добавить("ХарактерРаспределенияЗатрат");
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ПостроительЗапроса.Отбор.Добавить("СчетУчета");
				if(true/*ПостроительЗапроса.ДоступныеПоля.Найти("ЕНВД") <> Неопределено*/)
				{
					//ПостроительЗапроса.Отбор.Добавить("ЕНВД");
				}
			}
			if(true/*ПостроительЗапроса.ДоступныеПоля.Найти("Продукция") <> Неопределено*/)
			{
				//ПостроительЗапроса.Отбор.Добавить("Продукция");
			}
			if(true/*ПостроительЗапроса.ДоступныеПоля.Найти("ХарактеристикаПродукции") <> Неопределено*/)
			{
				//ПостроительЗапроса.Отбор.Добавить("ХарактеристикаПродукции");
			}
			if(true/*ПостроительЗапроса.ДоступныеПоля.Найти("СерияПродукции") <> Неопределено*/)
			{
				//ПостроительЗапроса.Отбор.Добавить("СерияПродукции");
			}
			//ПостроительЗапроса.Отбор.СпособРаспределения.Использование = Истина;
			//ПостроительЗапроса.Отбор.НомерПередела.Использование = Истина;
			//ПостроительЗапроса.Отбор.НомерПередела.ВидСравнения = ВидСравнения.БольшеИлиРавно;
			return null;
		}
		// ПолучитьПостроительЗапросаПоБазеРаспределения()
		// Функция проверяет отбор и устанавливает параметры отбора построителя запроса по базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	НомерПередела - Число - Текущий номер передела
		//	СпособРаспределения - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Заданный способ определения
		//	ХарактерРаспределенияЗатрат - ПеречислениеСсылка.ХарактерРаспределения - Заданный характер распределения
		//	РаспределятьНаПодчиненныеПодразделения - Булево - Признак распределения на подчиненные подразделения
		//	ЕНВД - Булево - Признак отнесения расходов на вид деятельности, облагаемый ЕНВД
		//	ОпределятьПоЕНВД - Булево - Признак определения базы распределения с учетом ЕНВД
		//	ОпределятьПоСчетуУчету - Булево - Признак определения базы распределения по счету учета
		//	ОтборПоПродукции - Булево - Признак определения базы распределения с учетом отбора по продукции
		//
		// Выходные параметры
		//	ПостроительЗапроса - ПостроительЗапроса - построитель запроса.
		//
		// Возвращаемое значение:
		//	Булево - Истина - установлен новый отбор,
		//			 Ложь - значения отбора не изменились.
		//

		public object ПроверитьИУстановитьОтборПостроителяЗапросаПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	НомерПередела,
	СпособРаспределения,
	ХарактерРаспределенияЗатрат,
	РаспределятьНаПодчиненныеПодразделения,
	ЕНВД,
	ОпределятьПоЕНВД,
	ОпределятьПоСчетуУчету,
	ОтборПоПродукции,
	ПостроительЗапроса
	*/)
		{
			//ОтборСоответствуетАналитике = Ложь;
			if(true/*ПостроительЗапроса.Отбор.СпособРаспределения.Значение = СпособРаспределения
	   И ПостроительЗапроса.Отбор.ХарактерРаспределенияЗатрат.Значение = ХарактерРаспределенияЗатрат
	   И ПостроительЗапроса.Отбор.ПодразделениеНЗП.Значение = СтрокаВыборки.Подразделение
	   И ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Значение = СтрокаВыборки.НоменклатурнаяГруппа
	   И ПостроительЗапроса.Отбор.ЗаказНЗП.Значение = СтрокаВыборки.Заказ
	   И ПостроительЗапроса.Отбор.НомерПередела.Значение = НомерПередела*/)
			{
				//ОтборСоответствуетАналитике = Истина;
			}
			if(true/*ОтборСоответствуетАналитике
	   И СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	   И ОпределятьПоЕНВД*/)
			{
				if(true/*ПостроительЗапроса.Отбор.ЕНВД.Значение <> ЕНВД*/)
				{
					//ОтборСоответствуетАналитике = Ложь;
				}
			}
			if(true/*ОтборСоответствуетАналитике
	   И ОпределятьПоСчетуУчету
	   И (СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
			ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)*/)
			{
				if(true/*ПостроительЗапроса.Отбор.СчетУчета.Значение <> СтрокаВыборки.СчетУчета*/)
				{
					//ОтборСоответствуетАналитике = Ложь;
				}
			}
			if(true/*ОтборСоответствуетАналитике
	   И ОтборПоПродукции
	   И ПостроительЗапроса.ДоступныеПоля.Найти("Продукция") <> Неопределено*/)
			{
				if(true/*ПостроительЗапроса.Отбор.Продукция <> СтрокаВыборки.Продукция
		 ИЛИ ПостроительЗапроса.Отбор.ХарактеристикаПродукции <> СтрокаВыборки.ХарактеристикаПродукции
		 ИЛИ ПостроительЗапроса.Отбор.СерияПродукции <> СтрокаВыборки.СерияПродукции*/)
				{
					//ОтборСоответствуетАналитике = Ложь;
				}
			}
			if(true/*Не ОтборСоответствуетАналитике*/)
			{
				//ПостроительЗапроса.Отбор.СпособРаспределения.Значение = СпособРаспределения;
				//ПостроительЗапроса.Отбор.ХарактерРаспределенияЗатрат.Значение = ХарактерРаспределенияЗатрат;
				//ПостроительЗапроса.Отбор.ПодразделениеНЗП.Значение = СтрокаВыборки.Подразделение;
				//ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Значение = СтрокаВыборки.НоменклатурнаяГруппа;
				//ПостроительЗапроса.Отбор.ЗаказНЗП.Значение = СтрокаВыборки.Заказ;
				//ПостроительЗапроса.Отбор.НомерПередела.Значение = НомерПередела;
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете И ОпределятьПоЕНВД*/)
				{
					//ПостроительЗапроса.Отбор.ЕНВД.Значение = ЕНВД;
					//ПостроительЗапроса.Отбор.ЕНВД.Использование = Истина;
				}
				if(true/*ОпределятьПоСчетуУчету
		   И (СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
				ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)*/)
				{
					//ПостроительЗапроса.Отбор.СчетУчета.Значение = СтрокаВыборки.СчетУчета;
					if(true/*СтрокаВыборки.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку*/)
					{
						//ПостроительЗапроса.Отбор.СчетУчета.Использование = Ложь;
					}
				}
				if(true/*ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение*/)
				{
					//ПостроительЗапроса.Отбор.ПодразделениеНЗП.Использование = Ложь;
				}
				//ПостроительЗапроса.Отбор.НоменклатурнаяГруппаНЗП.Использование = Не СтрокаВыборки.НоменклатурнаяГруппа.Пустая();
				//ПостроительЗапроса.Отбор.ЗаказНЗП.Использование = ЗначениеЗаполнено(СтрокаВыборки.Заказ);
				if(true/*ОтборПоПродукции
		   И ПостроительЗапроса.ДоступныеПоля.Найти("Продукция") <> Неопределено*/)
				{
					//ПостроительЗапроса.Отбор.Продукция.Значение = СтрокаВыборки.Продукция;
					//ПостроительЗапроса.Отбор.ХарактеристикаПродукции.Значение = СтрокаВыборки.ХарактеристикаПродукции;
					//ПостроительЗапроса.Отбор.СерияПродукции.Значение = СтрокаВыборки.СерияПродукции;
					//ПостроительЗапроса.Отбор.Продукция.Использование = Не СтрокаВыборки.Продукция.Пустая();
					//ПостроительЗапроса.Отбор.ХарактеристикаПродукции.Использование = Не СтрокаВыборки.ХарактеристикаПродукции.Пустая();
					//ПостроительЗапроса.Отбор.СерияПродукции.Использование = Не СтрокаВыборки.СерияПродукции.Пустая();
				}
			}
			return null;
		}
		// ПроверитьИУстановитьОтборПостроителяЗапросаПоБазеРаспределения()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ ПО РАСПРЕДЕЛЕНИЮ ЗАТРАТ
		// Процедура формирует движение по распределению затрат по регистру "Незавершенное производство".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	СтатьяЗатрат - СправочникСсылка.СтатьиЗатрат - Статья затрат
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат или Неопределено - Текущий характер затрат
		//	Затрата - ПеречислениеСсылка.ХарактерЗатрат или СправочникСсылка.Номенклатура,
		//	ХарактеристикаЗатраты - СправочникСсылка.ХарактеристикиНоменклатуры (используется только для производственных расходов),
		//	СерияЗатраты - СправочникСсылка.СерииНоменклатуры (используется только для производственных расходов),
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	Количество - Число - Количество затрат (используется только для производственных расходов)
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	ВидДвижения - ВидДвиженияНакопления - Текущий вид движения
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство".
		//

		public void СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтатьяЗатрат,
	ХарактерЗатрат,
	Затрата,
	ХарактеристикаЗатраты,
	СерияЗатраты,
	НомерПередела,
	Количество,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	ВидДвижения,
	НаборЗаписейНезавершенноеПроизводство
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			if(true/*ВидДвижения <> ВидДвиженияНакопления.Приход
	   И ВидДвижения <> ВидДвиженияНакопления.Расход*/)
			{
				/*ОбщегоНазначения.СообщитьОбОшибке("Не указан вид движения!
					|Процедура <СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат>");*/
			}
			/*// В движениях по регистру "Незавершенное производство" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Затрата - заполняется характер затрат или номенклатура
*/
			/*//	- ХарактеристикаЗатраты - не заполняется (для косвенных затрат) или заполняется характеристика номенклатуры
*/
			/*//	- СерияЗатраты - не заполняется (для косвенных затрат) или заполняется серия номенклатуры.
*/
			//НоваяСтрока = НаборЗаписейНезавершенноеПроизводство.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвижения;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетУчета;
			}
			//НоваяСтрока.Подразделение = СтрокаВыборки.Подразделение;
			//НоваяСтрока.НоменклатурнаяГруппа = СтрокаВыборки.НоменклатурнаяГруппа;
			//НоваяСтрока.СтатьяЗатрат = СтатьяЗатрат;
			//НоваяСтрока.Заказ = СтрокаВыборки.Заказ;
			//НоваяСтрока.Затрата = Затрата;
			//НоваяСтрока.ХарактеристикаЗатраты = ХарактеристикаЗатраты;
			//НоваяСтрока.СерияЗатраты = СерияЗатраты;
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//КодОперации = Перечисления.КодыОперацийНезавершенноеПроизводство.СписаниеОХР_Регламент;
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.НомерПередела = НомерПередела;
			//НоваяСтрока.Стоимость = Сумма;
			//НоваяСтрока.Количество  = Количество;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейНезавершенноеПроизводство.Количество() = 1000*/)
			{
				//НаборЗаписейНезавершенноеПроизводство.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат()
		// Процедура формирует движение по распределению затрат по регистру "Затраты".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	ВидДвижения - ВидДвиженияНакопления - Текущий вид движения
		//	НаборЗаписейЗатраты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты".
		//

		public void СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ХарактерЗатрат,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	ВидДвижения,
	НаборЗаписейЗатраты
	*/)
		{
			if(true/*Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			if(true/*ВидДвижения <> ВидДвиженияНакопления.Приход
	   И ВидДвижения <> ВидДвиженияНакопления.Расход*/)
			{
				/*ОбщегоНазначения.СообщитьОбОшибке("Не указан вид движения!
					|Процедура <СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат>");*/
			}
			/*// В движениях по регистру "Затраты" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ
*/
			//НоваяСтрока = НаборЗаписейЗатраты.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвижения;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//КодОперации = Перечисления.КодыОперацийЗатраты.СписаниеОХР_Регламент;
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.Сумма = Сумма;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатраты.Количество() = 1000*/)
			{
				//НаборЗаписейЗатраты.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат()
		// Процедура формирует движение по распределению затрат по регистру "Затраты (обороты)".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	Проект - Справочник.Проекты - Текущий проект
		//  Сумма - Число - Сумма затрат
		//	НаборЗаписейЗатратыОбороты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты (обороты)".
		//

		public void СформироватьДвиженияПоРегиструЗатратыОборотыРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Проект,
	Сумма,
	НаборЗаписейЗатратыОбороты
	*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
			}
			if(true/*Сумма = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты (обороты)" должны быть заполнены измерения:
*/
			/*//	- Подразделение,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Проект
*/
			//НоваяСтрока = НаборЗаписейЗатратыОбороты.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.Проект = Проект;
			//НоваяСтрока.Сумма = Сумма;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыОбороты.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыОбороты.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыОборотыРаспределениеЗатрат()
		// Процедура формирует движение по распределению затрат по регистру "Брак в производстве".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	ВидДвижения - ВидДвиженияНакопления - Текущий вид движения
		//	НаборЗаписейБракВПроизводстве - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Брак в производстве".
		//

		public void СформироватьДвиженияПоРегиструБракВПроизводствеРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	ВидДвижения,
	НаборЗаписейБракВПроизводстве
	*/)
		{
			if(true/*Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			if(true/*ВидДвижения <> ВидДвиженияНакопления.Приход
	   И ВидДвижения <> ВидДвиженияНакопления.Расход*/)
			{
				/*ОбщегоНазначения.СообщитьОбОшибке("Не указан вид движения!
					|Процедура <СформироватьДвиженияПоРегиструБракВПроизводствеРаспределениеЗатрат>");*/
			}
			/*// В движениях по регистру "Брак в производстве" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Заказ,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции
*/
			//НоваяСтрока = НаборЗаписейБракВПроизводстве.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвижения;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.КодОперации = Перечисления.КодыОперацийБракВПроизводстве.СписаниеБракВПроизводстве_Регламент;
			//НоваяСтрока.Сумма = Сумма;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейБракВПроизводстве.Количество() = 1000*/)
			{
				//НаборЗаписейБракВПроизводстве.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструБракВПроизводствеРаспределениеЗатрат()
		// Процедура формирует движение по распределению затрат по регистру "Затраты на выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	СтатьяЗатрат - СправочникСсылка.СтатьиЗатрат - Статья затрат
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	СтатусМатериальныхЗатрат - ПеречислениеСсылка.СтатусыМатериальныхЗатратНаПроизводство - Текущий статус материальных затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	НаборЗаписейЗатратыНаВыпуск - ТаблицаЗначений - Таблица движений регистра накопления "Затраты на выпуск".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииРаспределениеЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиБаза,
	СтатьяЗатрат,
	ХарактерЗатрат,
	СтатусМатериальныхЗатрат,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	НаборЗаписейЗатратыНаВыпуск
	*/)
		{
			if(true/*Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты на выпуск" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по данным базы распределения:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции,
*/
			/*//	- Спецификация,
*/
			/*//	- Заказ,
*/
			/*//	- ДокументВыпуска,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по распределяемым затратам:
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- Затрата - заполняется ХарактерЗатрат,
*/
			/*//	- ХарактеристикаЗатраты - не заполняется,
*/
			/*//	- СерияЗатраты - не заполняется,
*/
			/*//	- НоменклатурнаяГруппаНЗП,
*/
			/*//	- ЗаказНЗП,
*/
			/*//	- ПодразделениеНЗП,
*/
			//НоваяСтрока = НаборЗаписейЗатратыНаВыпуск.Добавить();
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Активность = Истина;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборкиБаза);
			//НоваяСтрока.Затрата = ХарактерЗатрат;
			//НоваяСтрока.НоменклатурнаяГруппаНЗП = СтрокаВыборки.НоменклатурнаяГруппа;
			//НоваяСтрока.ЗаказНЗП = СтрокаВыборки.Заказ;
			//НоваяСтрока.ПодразделениеНЗП = СтрокаВыборки.Подразделение;
			if(true/*СтруктураШапкиДокумента.Свойство("ДетализацияПоФиксированнойСтатьеЗатрат")*/)
			{
				//ДетализацияПоФиксированнойСтатьеЗатрат = СтруктураШапкиДокумента.ДетализацияПоФиксированнойСтатьеЗатрат;
			}
			/*// Заполним статью затрат.
*/
			if(true/*Не ДетализацияПоФиксированнойСтатьеЗатрат*/)
			{
				//НоваяСтрока.СтатьяЗатрат  = СтатьяЗатрат;
			}
			/*// Заполним код операции.
*/
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы*/)
			{
				//КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ФактСебестоимостьОХР;
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.КосвенныеЗатраты = Истина;
			//НоваяСтрока.ЗатратыВстречногоВыпуска = Ложь;
			//НоваяСтрока.Количество = 0;
			//НоваяСтрока.Сумма = Сумма;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаВыпуск.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаВыпуск.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииРаспределениеЗатрат()
		// Процедура формирует движение по распределению затрат по регистру "Затраты на выпуск продукции".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//	РаспределениеЗатратПоБазе - Булево - Признак вызова процедуры при распределении затрат по базе
		//	КосвенныеЗатраты - Булево - Признак выполнения действия "Распределение косвенных расходов"
		//	ЗатратыВстречногоВыпуска - Булево - Признак выполнения действия "Распределение затрат встречного выпуска"
		//  Количество - Число - Количество затрат
		//  Сумма - Число - Сумма затрат
		//  ПостояннаяРазница - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазница - Число - Сумма затрат в части временной разницы
		//	НаборЗаписейЗатратыНаВыпуск - ТаблицаЗначений - Таблица движений регистра накопления "Затраты на выпуск".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииПрямыеЗатраты(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиБаза,
	РаспределениеЗатратПоБазе,
	КосвенныеЗатраты,
	ЗатратыВстречногоВыпуска,
	Количество,
	Сумма,
	ПостояннаяРазница,
	ВременнаяРазница,
	НаборЗаписейЗатратыНаВыпуск
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты на выпуск" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по данным базы распределения:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции,
*/
			/*//	- Спецификация,
*/
			/*//	- Заказ,
*/
			/*//	- ДокументВыпуска,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по распределяемым затратам:
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- Затрата,
*/
			/*//	- ХарактеристикаЗатраты,
*/
			/*//	- СерияЗатраты,
*/
			/*//	- НоменклатурнаяГруппаНЗП,
*/
			/*//	- ЗаказНЗП,
*/
			/*//	- ПодразделениеНЗП,
*/
			//НоваяСтрока = НаборЗаписейЗатратыНаВыпуск.Добавить();
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.Активность = Истина;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборкиБаза);
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатрат;
			if(true/*РаспределениеЗатратПоБазе*/)
			{
				//НоваяСтрока.НоменклатурнаяГруппаНЗП = СтрокаВыборки.НоменклатурнаяГруппа;
				//НоваяСтрока.ЗаказНЗП = СтрокаВыборки.Заказ;
				//НоваяСтрока.ПодразделениеНЗП = СтрокаВыборки.Подразделение;
				//НоваяСтрока.Затрата = СтрокаВыборки.Затрата;
				//НоваяСтрока.ХарактеристикаЗатраты = СтрокаВыборки.ХарактеристикаЗатраты;
				//НоваяСтрока.СерияЗатраты = СтрокаВыборки.СерияЗатраты;
			}
			if(true/*РаспределениеЗатратПоБазе*/)
			{
				if(true/*СтрокаВыборки.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ВозвратныеОтходы*/)
				{
					//КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты;
				}
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.КосвенныеЗатраты = КосвенныеЗатраты;
			//НоваяСтрока.ЗатратыВстречногоВыпуска = ЗатратыВстречногоВыпуска;
			//НоваяСтрока.Количество = Количество;
			//НоваяСтрока.Сумма = Сумма;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаВыпуск.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаВыпуск.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииПрямыеЗатраты()
		// Процедура формирует движение по распределению затрат по регистру "Затраты на выпуск продукции (наработка)".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиБаза - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по базе распределения
		//  Количество - Число - Количество затрат
		//  Сумма - Число - Сумма затрат
		//	НаборЗаписейЗатратыНаВыпускНаработка - ТаблицаЗначений - Таблица движений регистра накопления "Затраты на выпуск (наработка)".
		//

		public void СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработка(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиБаза,
	Количество,
	Сумма,
	НаборЗаписейЗатратыНаВыпускНаработка
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0*/)
			{
			}
			/*// В движениях по регистру "Затраты на выпуск (наработка)" должны быть заполнены измерения:
*/
			/*//	- Организация - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по данным базы распределения:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском, налоговом или международном учете,
*/
			/*//	- НоменклатурнаяГруппа,
*/
			/*//	- Продукция,
*/
			/*//	- ХарактеристикаПродукции,
*/
			/*//	- СерияПродукции,
*/
			/*//	- Заказ,
*/
			/*//
*/
			/*// Измерения и реквизиты, заполняемые по распределяемым затратам:
*/
			/*//	- СтатьяЗатрат,
*/
			/*//	- Затрата,
*/
			/*//	- ХарактеристикаЗатраты,
*/
			/*//	- СерияЗатраты,
*/
			/*//	- НоменклатурнаяГруппаНЗП,
*/
			/*//	- ЗаказНЗП,
*/
			/*//	- ПодразделениеНЗП,
*/
			//НоваяСтрока = НаборЗаписейЗатратыНаВыпускНаработка.Добавить();
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
			//НоваяСтрока.Активность = Истина;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборкиБаза);
			//НоваяСтрока.СтатьяЗатрат = СтрокаВыборки.СтатьяЗатрат;
			//НоваяСтрока.Затрата = СтрокаВыборки.Затрата;
			//НоваяСтрока.ХарактеристикаЗатраты = СтрокаВыборки.ХарактеристикаЗатраты;
			//НоваяСтрока.СерияЗатраты = СтрокаВыборки.СерияЗатраты;
			//НоваяСтрока.НоменклатурнаяГруппаНЗП = СтрокаВыборки.НоменклатурнаяГруппа;
			//НоваяСтрока.ЗаказНЗП = СтрокаВыборки.Заказ;
			//НоваяСтрока.ПодразделениеНЗП = СтрокаВыборки.Подразделение;
			//НоваяСтрока.КодОперации = Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты;
			//НоваяСтрока.Количество = Количество;
			//НоваяСтрока.Сумма = Сумма;
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейЗатратыНаВыпускНаработка.Количество() = 1000*/)
			{
				//НаборЗаписейЗатратыНаВыпускНаработка.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработка()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО ПРЯМЫМ ПРОИЗВОДСТВЕННЫМ ЗАТРАТАМ
		// Функция формирует текст запроса по производственным затратам.
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоПрямымПроизводственнымЗатратам(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
	|		Неопределено
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Затрата
	|	КОНЕЦ КАК Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	
	|	НезавершенноеПроизводство.Подразделение КАК ПодразделениеНЗП,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	НезавершенноеПроизводство.Заказ КАК ЗаказНЗП,
	|	
	|	//ДляРеглУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат = 
	|	//ДляРеглУчета 		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|	//ДляРеглУчета ТОГДА
	|	//ДляРеглУчета 		Неопределено
	|	//ДляРеглУчета ИНАЧЕ
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета
	|	//ДляРеглУчета КОНЕЦ КАК СчетУчета,
	|	
	|	СУММА(ЗатратыНаВыпуск.КоличествоОстаток) КАК Количество,
	|	СУММА(ЗатратыНаВыпуск.СуммаОстаток) КАК Сумма
	|
	|ПОМЕСТИТЬ ЗатратыНаВыпускНаработка
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукцииНаработка%СуффиксУчета%.Остатки(&КонГраница, 
	|		СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|		//ДляРеглУчета И Организация = &Организация
	|	) КАК ЗатратыНаВыпуск
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|			СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|			//ДляРеглУчета И Организация = &Организация
	|		) КАК НезавершенноеПроизводство
	|	ПО  
	|		ЗатратыНаВыпуск.СтатьяЗатрат = НезавершенноеПроизводство.СтатьяЗатрат
	|		И (ЗатратыНаВыпуск.Затрата = НезавершенноеПроизводство.Затрата
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|			И НезавершенноеПроизводство.Затрата = Неопределено
	|			)
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = НезавершенноеПроизводство.ХарактеристикаЗатраты
	|		И ЗатратыНаВыпуск.СерияЗатраты = НезавершенноеПроизводство.СерияЗатраты
	|		
	|		И (ЗатратыНаВыпуск.ПодразделениеНЗП = НезавершенноеПроизводство.Подразделение
	|			ИЛИ 
	|			ЗатратыНаВыпуск.Подразделение = НезавершенноеПроизводство.Подразделение
	|			//ДляУпрУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
	|			//ДляРеглУчета И ЗатратыНаВыпуск.ПодразделениеНЗП = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			)
	|		
	|		И (ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = НезавершенноеПроизводство.НоменклатурнаяГруппа
	|			ИЛИ 
	|			ЗатратыНаВыпуск.НоменклатурнаяГруппа = НезавершенноеПроизводство.НоменклатурнаяГруппа
	|			И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
	|			)
	|		
	|		И (ЗатратыНаВыпуск.ЗаказНЗП = НезавершенноеПроизводство.Заказ
	|			ИЛИ
	|			ЗатратыНаВыпуск.Заказ = НезавершенноеПроизводство.Заказ
	|			И ЗатратыНаВыпуск.ЗаказНЗП = Неопределено
	|			)
	|		//ДляРеглУчета И ВЫБОР КОГДА ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат = 
	|		//ДляРеглУчета 		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|		//ДляРеглУчета ТОГДА
	|		//ДляРеглУчета 		Истина
	|		//ДляРеглУчета ИНАЧЕ
	|		//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета = НезавершенноеПроизводство.СчетУчета
	|		//ДляРеглУчета КОНЕЦ
	|		
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|
	|	//ДляРеглУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат = 
	|	//ДляРеглУчета 		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|	//ДляРеглУчета ТОГДА
	|	//ДляРеглУчета 		Неопределено
	|	//ДляРеглУчета ИНАЧЕ
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета
	|	//ДляРеглУчета КОНЕЦ,
	|	
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ
    |;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	ЗатратыНаВыпуск.Подразделение,
	|	//ДляРеглУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат = 
	|	//ДляРеглУчета 		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|	//ДляРеглУчета ТОГДА
	|	//ДляРеглУчета 		Неопределено
	|	//ДляРеглУчета ИНАЧЕ
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета
	|	//ДляРеглУчета КОНЕЦ КАК СчетУчета,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ВременнаяРазница)	КАК ВременнаяРазница,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	СУММА(ЗатратыНаВыпуск.Количество) КАК Количество
	|
	|ПОМЕСТИТЬ ЗатратыНаВыпуск
	|ИЗ 
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И ЗатратыНаВыпуск.КодОперации В (&КодыОпераций)
	|	И ЗатратыНаВыпуск.СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|			
	|СГРУППИРОВАТЬ ПО
	|	ЗатратыНаВыпуск.Подразделение,
	|	//ДляРеглУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат = 
	|	//ДляРеглУчета 		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|	//ДляРеглУчета ТОГДА
	|	//ДляРеглУчета 		Неопределено
	|	//ДляРеглУчета ИНАЧЕ
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета
	|	//ДляРеглУчета КОНЕЦ,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты
    |;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|	
	|	(НезавершенноеПроизводство.СтоимостьОстаток
	|		- ЕСТЬNULL(ЗатратыНаВыпуск.Сумма, 0)
	|		- ЕСТЬNULL(ЗатратыНаВыпускНаработка.Сумма, 0)
	|	) КАК СуммаОстаток,
	|	
	|	//ДляНалУчета ( НезавершенноеПроизводство.ВременнаяРазницаОстаток
	|	//ДляНалУчета 	- ЕСТЬNULL(ЗатратыНаВыпуск.ВременнаяРазница, 0)
	|	//ДляНалУчета ) КАК ВременнаяРазницаОстаток,
	|
	|	//ДляНалУчета (	НезавершенноеПроизводство.ПостояннаяРазницаОстаток
	|	//ДляНалУчета 	- ЕСТЬNULL(ЗатратыНаВыпуск.ПостояннаяРазница, 0)
	|	//ДляНалУчета ) КАК ПостояннаяРазницаОстаток,
	|
	|	(НезавершенноеПроизводство.КоличествоОстаток
	|		- ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0)
	|		- ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)
	|	) КАК КоличествоОстаток,
	|	
	|	ЕСТЬNULL(ИнвентаризацияНЗП.Сумма, 0) КАК СуммаИнвентаризация,
	|	ЕСТЬNULL(ИнвентаризацияНЗП.Количество, 0) КАК КоличествоИнвентаризация
	|
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|		Не Затрата ССЫЛКА Перечисление.ХарактерЗатрат
	|		И СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|		//ДляРеглУчета И Организация = &Организация
	|		//ДляНалУчета И СчетУчета В (&МассивСчетовУчета)
	|		) КАК НезавершенноеПроизводство
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ЗатратыНаВыпуск КАК ЗатратыНаВыпуск
	|	ПО 
	|		НезавершенноеПроизводство.Подразделение = ЗатратыНаВыпуск.Подразделение
	|		И НезавершенноеПроизводство.НоменклатурнаяГруппа = ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП
	|		И НезавершенноеПроизводство.Заказ = ЗатратыНаВыпуск.ЗаказНЗП
	|		И НезавершенноеПроизводство.СтатьяЗатрат = ЗатратыНаВыпуск.СтатьяЗатрат
	|		И НезавершенноеПроизводство.Затрата	= ЗатратыНаВыпуск.Затрата
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЗатратыНаВыпуск.ХарактеристикаЗатраты
	|		И НезавершенноеПроизводство.СерияЗатраты = ЗатратыНаВыпуск.СерияЗатраты
	|		//ДляРеглУчета И (НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпуск.СчетУчета
	|		//ДляРеглУчета 		ИЛИ ЗатратыНаВыпуск.СчетУчета = Неопределено)
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ЗатратыНаВыпускНаработка КАК ЗатратыНаВыпускНаработка
	|	ПО 
	|		НезавершенноеПроизводство.Подразделение = ЗатратыНаВыпускНаработка.ПодразделениеНЗП
	|		И НезавершенноеПроизводство.НоменклатурнаяГруппа = ЗатратыНаВыпускНаработка.НоменклатурнаяГруппаНЗП
	|		И НезавершенноеПроизводство.Заказ = ЗатратыНаВыпускНаработка.ЗаказНЗП
	|		И НезавершенноеПроизводство.СтатьяЗатрат = ЗатратыНаВыпускНаработка.СтатьяЗатрат
	|		И НезавершенноеПроизводство.Затрата	= ЗатратыНаВыпускНаработка.Затрата
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЗатратыНаВыпускНаработка.ХарактеристикаЗатраты
	|		И НезавершенноеПроизводство.СерияЗатраты = ЗатратыНаВыпускНаработка.СерияЗатраты	
	|		//ДляРеглУчета И (НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпускНаработка.СчетУчета
	|		//ДляРеглУчета 		ИЛИ ЗатратыНаВыпускНаработка.СчетУчета = Неопределено)
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			//ДляУпрУчета ИнвентаризацияМатериалы.Ссылка.Подразделение,
	|			//ДляРеглУчета ИнвентаризацияМатериалы.Ссылка.ПодразделениеОрганизации КАК Подразделение,
	|
	|			//ДляБухУчета ИнвентаризацияМатериалы.СчетЗатрат,
	|			//ДляНалУчета ИнвентаризацияМатериалы.СчетЗатратНУ КАК СчетЗатрат,
	|
	|			ИнвентаризацияМатериалы.Номенклатура КАК Затрата,
	|			ИнвентаризацияМатериалы.ХарактеристикаНоменклатуры КАК ХарактеристикаЗатраты,
	|			ИнвентаризацияМатериалы.СерияНоменклатуры КАК СерияЗатраты,
	|			ИнвентаризацияМатериалы.НоменклатурнаяГруппа,
	|			ИнвентаризацияМатериалы.СтатьяЗатрат,
	|			ВЫБОР КОГДА ИнвентаризацияМатериалы.Заказ <> &ПустойЗаказПокупателя И
	|						ИнвентаризацияМатериалы.Заказ <> &ПустойЗаказНаПроизводство ТОГДА
	|				ИнвентаризацияМатериалы.Заказ
	|			ИНАЧЕ
	|				Неопределено
	|			КОНЕЦ КАК Заказ,
	|
	|			СУММА(ИнвентаризацияМатериалы.Количество * 
	|				ИнвентаризацияМатериалы.Коэффициент /
	|				ИнвентаризацияМатериалы.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
	|			) КАК Количество,
	|			0 КАК Сумма
	|			
	|		ИЗ
	|			Документ.ИнвентаризацияНЗП.Материалы КАК ИнвентаризацияМатериалы
	|			
	|		ГДЕ
	|			ИнвентаризацияМатериалы.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
	|			И Не ИнвентаризацияМатериалы.Ссылка.ПометкаУдаления
	|			И ИнвентаризацияМатериалы.СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|			//ДляУпрУчета И ИнвентаризацияМатериалы.Ссылка.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И ИнвентаризацияМатериалы.Ссылка.ОтражатьВБухгалтерскомУчете
	|			//ДляНалУчета И ИнвентаризацияМатериалы.Ссылка.ОтражатьВНалоговомУчете
	|			//ДляРеглУчета И ИнвентаризацияМатериалы.Ссылка.Организация = &Организация
	|			
	|		СГРУППИРОВАТЬ ПО
	|			//ДляУпрУчета ИнвентаризацияМатериалы.Ссылка.Подразделение,
	|			//ДляРеглУчета ИнвентаризацияМатериалы.Ссылка.ПодразделениеОрганизации,
	|
	|			//ДляБухУчета ИнвентаризацияМатериалы.СчетЗатрат,
	|			//ДляНалУчета ИнвентаризацияМатериалы.СчетЗатратНУ,
	|			ИнвентаризацияМатериалы.Номенклатура,
	|			ИнвентаризацияМатериалы.ХарактеристикаНоменклатуры,
	|			ИнвентаризацияМатериалы.СерияНоменклатуры,
	|			ИнвентаризацияМатериалы.НоменклатурнаяГруппа,
	|			ИнвентаризацияМатериалы.СтатьяЗатрат,
	|			ВЫБОР КОГДА ИнвентаризацияМатериалы.Заказ <> &ПустойЗаказПокупателя И
	|						ИнвентаризацияМатериалы.Заказ <> &ПустойЗаказНаПроизводство ТОГДА
	|				ИнвентаризацияМатериалы.Заказ
	|			ИНАЧЕ
	|				Неопределено
	|			КОНЕЦ
	|			
	|		ОБЪЕДИНИТЬ ВСЕ
	|		
	|		ВЫБРАТЬ
	|			//ДляУпрУчета ИнвентаризацияПрочие.Ссылка.Подразделение,
	|			//ДляРеглУчета ИнвентаризацияПрочие.Ссылка.ПодразделениеОрганизации,
	|
	|			//ДляБухУчета ИнвентаризацияПрочие.СчетЗатрат,
	|			//ДляНалУчета ИнвентаризацияПрочие.СчетЗатратНУ КАК СчетЗатрат,
	|
	|			ВЫБОР КОГДА ИнвентаризацияПрочие.СпособРаспределенияЗатратНаВыпуск = &ПустойСпособРаспределения Тогда
	|				Неопределено
	|			ИНАЧЕ
	|				ИнвентаризацияПрочие.СпособРаспределенияЗатратНаВыпуск	
	|			КОНЕЦ КАК Затрата,
	|			&ПустаяХарактеристика,
	|			&ПустаяСерия,
	|			ИнвентаризацияПрочие.НоменклатурнаяГруппа,
	|			ИнвентаризацияПрочие.СтатьяЗатрат,
	|			ВЫБОР КОГДА ИнвентаризацияПрочие.Заказ <> &ПустойЗаказПокупателя И
	|						ИнвентаризацияПрочие.Заказ <> &ПустойЗаказНаПроизводство ТОГДА
	|				ИнвентаризацияПрочие.Заказ
	|			ИНАЧЕ
	|				Неопределено
	|			КОНЕЦ,
	|
	|			0 КАК Количество,
	|			//ДляУпрУчета СУММА(ИнвентаризацияПрочие.Сумма) КАК Сумма
	|			//ДляБухУчета СУММА(ИнвентаризацияПрочие.СуммаРегл) КАК Сумма
	|			//ДляНалУчета СУММА(ИнвентаризацияПрочие.СуммаНал) КАК Сумма
	|		ИЗ
	|			Документ.ИнвентаризацияНЗП.ПрочиеЗатраты КАК ИнвентаризацияПрочие
	|			
	|		ГДЕ
	|			ИнвентаризацияПрочие.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
	|			И Не ИнвентаризацияПрочие.Ссылка.ПометкаУдаления
	|			И ИнвентаризацияПрочие.СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|			//ДляУпрУчета И ИнвентаризацияПрочие.Ссылка.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И ИнвентаризацияПрочие.Ссылка.ОтражатьВБухгалтерскомУчете
	|			//ДляНалУчета И ИнвентаризацияПрочие.Ссылка.ОтражатьВНалоговомУчете
	|			//ДляРеглУчета И ИнвентаризацияПрочие.Ссылка.Организация = &Организация
	|			
	|		СГРУППИРОВАТЬ ПО
	|			//ДляУпрУчета ИнвентаризацияПрочие.Ссылка.Подразделение,
	|			//ДляРеглУчета ИнвентаризацияПрочие.Ссылка.ПодразделениеОрганизации,
	|
	|			//ДляБухУчета ИнвентаризацияПрочие.СчетЗатрат,
	|			//ДляНалУчета ИнвентаризацияПрочие.СчетЗатратНУ,
	|
	|			ВЫБОР КОГДА ИнвентаризацияПрочие.СпособРаспределенияЗатратНаВыпуск = &ПустойСпособРаспределения Тогда
	|				Неопределено
	|			ИНАЧЕ
	|				ИнвентаризацияПрочие.СпособРаспределенияЗатратНаВыпуск	
	|			КОНЕЦ,
	|			ИнвентаризацияПрочие.НоменклатурнаяГруппа,
	|			ИнвентаризацияПрочие.СтатьяЗатрат,
	|			ВЫБОР КОГДА ИнвентаризацияПрочие.Заказ <> &ПустойЗаказПокупателя И
	|						ИнвентаризацияПрочие.Заказ <> &ПустойЗаказНаПроизводство ТОГДА
	|				ИнвентаризацияПрочие.Заказ
	|			ИНАЧЕ
	|				Неопределено
	|			КОНЕЦ
	|			
	|		) КАК ИнвентаризацияНЗП
	|	ПО 
	|		НезавершенноеПроизводство.Подразделение = ИнвентаризацияНЗП.Подразделение
	|		И НезавершенноеПроизводство.НоменклатурнаяГруппа = ИнвентаризацияНЗП.НоменклатурнаяГруппа
	|		И НезавершенноеПроизводство.Заказ = ИнвентаризацияНЗП.Заказ
	|		И НезавершенноеПроизводство.СтатьяЗатрат = ИнвентаризацияНЗП.СтатьяЗатрат
	|		И НезавершенноеПроизводство.Затрата	= ИнвентаризацияНЗП.Затрата
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ИнвентаризацияНЗП.ХарактеристикаЗатраты
	|		И НезавершенноеПроизводство.СерияЗатраты = ИнвентаризацияНЗП.СерияЗатраты
	|		//ДляРеглУчета И НезавершенноеПроизводство.СчетУчета = ИнвентаризацияНЗП.СчетЗатрат
	|	
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			Истина КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		ГДЕ
	|	//ДляБухУчета			Не СчетаУчетаЕНВД.ПодлежитРаспределению
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		НезавершенноеПроизводство.СчетУчета = СчетаУчетаЕНВД.Счет
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	НезавершенноеПроизводство.Заказ
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ ЗатратыНаВыпускНаработка
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ ЗатратыНаВыпуск
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоПрямымПроизводственнымЗатратам()
		// Процедура устанавливает параметры запроса по производственным затратам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	МассивСтатьиЗатрат - Массив - Массив статей затрат
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросаПоПрямымПроизводственнымЗатратам(/*
	СтруктураШапкиДокумента,
	МассивСтатьиЗатрат,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата",    СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата",    СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("ВидДвиженияРасход", ВидДвиженияНакопления.Расход);
			//Запрос.УстановитьПараметр("МассивСтатьиЗатрат", МассивСтатьиЗатрат);
			//МассивКодыОпераций = Новый Массив;
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.СписаниеНЗП);
			//МассивКодыОпераций.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.КорректировкаНЗПРасч);
			//Запрос.УстановитьПараметр("КодыОпераций", МассивКодыОпераций);
			//Запрос.УстановитьПараметр("ПустойЗаказПокупателя", Документы.ЗаказПокупателя.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойЗаказНаПроизводство", Документы.ЗаказНаПроизводство.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойСпособРаспределения", Справочники.СпособыРаспределенияЗатратНаВыпуск.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяХарактеристика", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
			//МассивСчетовУчета = Новый Массив;
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОсновногоПроизводства);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыВспомогательныхПроизводств);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОбслуживающихПроизводств);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.РасходыПоДеятельностиЕНВД);
			//Запрос.УстановитьПараметр("МассивСчетовУчета", МассивСчетовУчета);
		}
		// УстановитьПараметрыЗапросаПоПрямымПроизводственнымЗатратам()
		// Функция формирует запрос по производственным затратам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по производственным затратам.
		//

		public object СформироватьЗапросПоПрямымПроизводственнымЗатратам(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоПрямымПроизводственнымЗатратам();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//ТаблицаЗначений = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выгрузить();
			//ТаблицаЗначений.Свернуть("СтатьяЗатрат", "");
			//МассивСтатьиЗатрат = ТаблицаЗначений.ВыгрузитьКолонку("СтатьяЗатрат");
			/*УстановитьПараметрыЗапросаПоПрямымПроизводственнымЗатратам(
		СтруктураШапкиДокумента,
		МассивСтатьиЗатрат,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоПрямымПроизводственнымЗатратам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ПРЯМЫХ ПРОИЗВОДСТВЕННЫХ ЗАТРАТ
		// Процедура производит распределение прямых затрат по рассчитанной базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//	НаборЗаписейЗатратыНаВыпускПродукцииНаработка - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск (наработка)"
		//

		public void РаспределитьПрямыеПроизводственныеЗатратыПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	НаборЗаписейЗатратыНаВыпуск,
	НаборЗаписейЗатратыНаВыпускНаработка
	*/)
		{
			/*// Получим построитель запроса по базе распределения.
*/
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределения
		);*/
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			//МассивКоэф = Новый Массив;
			//ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
				//РаспределятьНаПодчиненныеПодразделения = Ложь;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения,
			ХарактерРаспределенияЗатрат,
			РаспределятьНаПодчиненныеПодразделения
			);*/
				if(true/*Не РаспределятьЗатраты*/)
				{
				}
				/*// Отберем строки базы распределения.
*/
				/*// НомерПередела
*/
				/*// ЕНВД
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапроса
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапроса.Выполнить();
				}
				//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
				//ВсегоБазаРаспределения = 0;
				//ВсегоБазаРаспределенияНЗП = 0;
				//МассивКоэф.Очистить();
				//ВыборкаБаза = РезультатЗапросаБаза.Выбрать();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//МассивКоэф.Добавить(ВыборкаБаза.База);
					//ВсегоБазаРаспределения = ВсегоБазаРаспределения + ВыборкаБаза.База;
					//ВсегоБазаРаспределенияНЗП = ВсегоБазаРаспределенияНЗП + ВыборкаБаза.БазаОстатокНЗП;
				}
				if(true/*ВсегоБазаРаспределения = 0*/)
				{
					/*ОбщегоНазначения.Сообщение("Сумма базы коэф. по " + СпособРаспределения + " равна 0, для:
				|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
				|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
				|Заказ: " + ВыборкаПоЗатратам.Заказ + "
				|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа, СтатусСообщения.Важное);*/
				}
				//КоличествоОстаток = ВыборкаПоЗатратам.КоличествоОстаток;
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
					/*СуммаОстаток = СуммаОстаток + ПостояннаяРазницаОстаток
				+ ВременнаяРазницаОстаток;*/
				}
				/*// Пропускаем строки с пустой суммой.
*/
				if(true/*КоличествоОстаток = 0
		   И ВыборкаПоЗатратам.СуммаОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				if(true/*(ВсегоБазаРаспределения + ВсегоБазаРаспределенияНЗП) <> 0*/)
				{
					//КоэффициентРаспределения = ВсегоБазаРаспределения / (ВсегоБазаРаспределения + ВсегоБазаРаспределенияНЗП);
				}
				//КоэффициентРаспределения = ?(КоэффициентРаспределения < 0, - КоэффициентРаспределения, КоэффициентРаспределения);
				if(true/*ВыборкаПоЗатратам.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные*/)
				{
					if(true/*ВыборкаПоЗатратам.КоличествоИнвентаризация <> 0 И КоличествоОстаток <> 0*/)
					{
						//СуммаИнвентаризация = Окр(ВыборкаПоЗатратам.КоличествоИнвентаризация * СуммаОстаток / КоличествоОстаток, 2, 1);
						//КоличествоОстаток = КоличествоОстаток - ВыборкаПоЗатратам.КоличествоИнвентаризация;
						//СуммаОстаток = СуммаОстаток - СуммаИнвентаризация;
					}
				}
				//КоличествоОстаток = Окр(КоличествоОстаток * КоэффициентРаспределения, 3, 1);
				//СуммаОстаток = Окр(СуммаОстаток * КоэффициентРаспределения, 2, 1);
				/*// Материальные затраты распределяются по количеству, поэтому нулевые остатки пропускаем.
*/
				if(true/*ВыборкаПоЗатратам.ВидЗатрат = Перечисления.ВидыЗатрат.Материальные
		   И КоличествоОстаток = 0*/)
				{
				}
				//МассивКоличество = ОбщегоНазначения.РаспределитьПропорционально(КоличествоОстаток, МассивКоэф, 3);
				//МассивСумма      = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//СуммаОстатокНУ = СуммаОстаток - ПостояннаяРазницаОстаток - ВременнаяРазницаОстаток;
					//ПостояннаяРазницаОстаток = Окр(ПостояннаяРазницаОстаток * КоэффициентРаспределения, 2, 1);
					//ВременнаяРазницаОстаток = Окр(ВременнаяРазницаОстаток * КоэффициентРаспределения, 2, 1);
					//СуммаОстатокНУ = Окр(СуммаОстатокНУ * КоэффициентРаспределения, 2, 1);
					//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
					//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
					//МассивСуммаНУ           = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстатокНУ, МассивКоэф, 2);
				}
				//Индекс = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//Количество = ?(МассивКоличество = Неопределено, 0, МассивКоличество[Индекс]);
					//Сумма      = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
						//СуммаНУ = ?(МассивСуммаНУ = Неопределено, 0, МассивСуммаНУ[Индекс]);
						/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
						if(true/*СуммаНУ + ПостояннаяРазница + ВременнаяРазница <> Сумма*/)
						{
							if(true/*ВременнаяРазница <> 0*/)
							{
								//ВременнаяРазница = Сумма - (СуммаНУ + ПостояннаяРазница);
							}
						}
					}
					if(true/*ВыборкаБаза.ВидВыпуска = Перечисления.ВидыВыпуска.Наработка 
			   И Не СтруктураШапкиДокумента.ОтражатьВМеждународномУчете*/)
					{
						/*// Формирование движений по регистру "Затраты на выпуск (наработка)".
*/
						/*СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииНаработка(
					СтруктураШапкиДокумента,
					ВыборкаПоЗатратам,
					ВыборкаБаза,
					Количество,
					Сумма,
					НаборЗаписейЗатратыНаВыпускНаработка
				);*/
					}
					//Индекс = Индекс + 1;
				}
				//;;
			}
			//;;
		}
		// РаспределитьПрямыеПроизводственныеЗатратыПоБазеРаспределения()
		// Процедура производит распределение прямых производственных расходов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//

		public void РаспределениеПрямыхПроизводственныхРасходов(/*
	СтруктураШапкиДокумента
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ОтражатьВМеждународномУчете*/)
			{
			}
			//ОбщегоНазначения.Сообщение("Распределение производственных расходов");
			/*СтруктураИмен = Новый Структура("
		|ЗатратыНаВыпускПродукции, 
		|ЗатратыНаВыпускПродукцииНаработка 
		|");*/
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			//МассивХарактеровРаспределения = Новый Массив;
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
			/*// Сформируем запрос по способам распределения статей затрат.	
*/
			/*// ФормироватьВременнуюТаблицу
*/
			/*СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//РезультатЗапросаПоСпособамРаспределенияЗатрат = ЗапросПоСпособамРаспределенияЗатрат.Выполнить();
			/*// Сформируем запрос по базе распределения затрат.
*/
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазаРаспределенияЗатратНаПродукцию();
			//ЗапросБазаРаспределения = СформироватьЗапросПоБазеРаспределенияЗатрат(СтруктураШапкиДокумента, ТекстЗапросаСКомментариями, Ложь);
			//РезультатЗапросаБазаРаспределения = ЗапросБазаРаспределения.Выполнить();
			/*// Сформируем запрос по производственным расходам.
*/
			/*ЗапросПоЗатратам = СформироватьЗапросПоПрямымПроизводственнымЗатратам(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоСпособамРаспределенияЗатрат
		);*/
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()
	   И Не РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	   И Не РезультатЗапросаБазаРаспределения.Пустой()*/)
			{
				/*РаспределитьПрямыеПроизводственныеЗатратыПоБазеРаспределения(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоЗатратам,
			РезультатЗапросаПоСпособамРаспределенияЗатрат,
			РезультатЗапросаБазаРаспределения,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка
			);*/
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВМеждународномУчете
	   И СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпускНаработка.Записать(Ложь);
			}
		}
		// РаспределениеПрямыхПроизводственныхРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ РАСХОДОВ НА ВЫПУСК ПРОДУКЦИИ
		// Процедура рассчитывает остаток затрат с учетом коэффициента распределения на остатки НЗП.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	ВсегоБазаРаспределения - Число - Общая сумма базы распределения
		//	ВсегоБазаРаспределенияНЗП - Число - Общая сумма базы распределения на НЗП
		//	СуммаОстаток - Число - Сумма остатка затрат для распределения
		//	ПостояннаяРазницаОстаток - Число - Сумма остатка затрат для распределения в части постоянной разницы
		//	ВременнаяРазницаОстаток - Число - Сумма остатка затрат для распределения в части временной разницы
		//	СуммаНаВыпуск - Число - Сумма затрат, распределяемых на выпуск продукции
		//	ПостояннаяРазницаНаВыпуск - Число - Сумма затрат, распределяемых на выпуск продукции в части постоянной разницы
		//	ВременнаяРазницаНаВыпуск - Число - Сумма затрат, распределяемых на выпуск продукции в части временной разницы
		//

		public void РассчитатьОстатокСуммыЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ВсегоБазаРаспределения,
	ВсегоБазаРаспределенияНЗП,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток,
	СуммаНаВыпуск,
	ПостояннаяРазницаНаВыпуск,
	ВременнаяРазницаНаВыпуск
	*/)
		{
			if(true/*(ВсегоБазаРаспределенияНЗП + ВсегоБазаРаспределения) <> 0*/)
			{
				//Коэффициент = ВсегоБазаРаспределения / (ВсегоБазаРаспределения + ВсегоБазаРаспределенияНЗП);
				//Коэффициент = ?(Коэффициент < 0, - Коэффициент, Коэффициент);
			}
			//СуммаНаВыпуск = Окр(СуммаОстаток * Коэффициент, 2, 1);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ПостояннаяРазницаНаВыпуск = Окр(ПостояннаяРазницаОстаток * Коэффициент, 2, 1);
				//ВременнаяРазницаНаВыпуск = Окр(ВременнаяРазницаОстаток * Коэффициент, 2, 1);
			}
		}
		// РассчитатьОстатокСуммыЗатрат()
		// Функция получает структуру поиска строк результата запроса по базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//	СтрокаВыборкиЗатраты - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	СпособРаспределения - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Заданный способ определения
		//	РаспределятьПустуюАналитику - Булево - Признак распределения пустой номенклатурной группы и пустого заказа
		//											по всем номенклатурным группам и всем заказам
		//
		// Возвращаемое значение:
		//	Структура - Структура поиска
		//

		public object ПолучитьСтруктуруПоискаСтрокБазыРаспределения(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	СтрокаВыборкиЗатраты,
	ХарактерЗатрат,
	СпособРаспределения,
	РаспределятьПустуюАналитику
	*/)
		{
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("СпособРаспределения", СпособРаспределения);
			//СтруктураПоиска.Вставить("ПодразделениеНЗП", СтрокаВыборки.Подразделение);
			if(true/*Не РаспределятьПустуюАналитику*/)
			{
				//СтруктураПоиска.Вставить("НоменклатурнаяГруппаНЗП", СтрокаВыборки.НоменклатурнаяГруппа);
				//СтруктураПоиска.Вставить("ЗаказНЗП", СтрокаВыборки.Заказ);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//СтруктураПоиска.Вставить("СчетУчета", СтрокаВыборки.СчетУчета);
			}
			if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.БракВПроизводстве*/)
			{
				if(true/*СтрокаВыборки.Владелец().Колонки.Найти("Продукция") = Неопределено*/)
				{
					if(true/*Не СтрокаВыборкиЗатраты.Продукция.Пустая()*/)
					{
						//СтруктураПоиска.Вставить("Продукция", СтрокаВыборкиЗатраты.Продукция);
					}
					if(true/*Не СтрокаВыборкиЗатраты.ХарактеристикаПродукции.Пустая()*/)
					{
						//СтруктураПоиска.Вставить("ХарактеристикаПродукции", СтрокаВыборкиЗатраты.ХарактеристикаПродукции);
					}
					if(true/*Не СтрокаВыборкиЗатраты.СерияПродукции.Пустая()*/)
					{
						//СтруктураПоиска.Вставить("СерияПродукции", СтрокаВыборкиЗатраты.СерияПродукции);
					}
				}
			}
			return null;
		}
		// ПолучитьСтруктуруПоискаСтрокБазыРаспределения()
		// Процедура распределяет затраты на выпуск продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВыборкаБаза - ВыборкаИзРезультатаЗапроса - Выборка по базе распределения на продукцию
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса
		//  СтрокаВыборкиЗатраты - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	СпособРаспределения - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Текущий способ распределения
		//	СтатусМатериальныхЗатрат - ПеречислениеСсылка.СтатусыМатериальныхЗатратНаПроизводство - Текущий статус материальных затрат
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//  СуммаОстаток - Число - Сумма затрат
		//  ПостояннаяРазницаОстаток - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазницаОстаток - Число - Сумма затрат в части временной разницы
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьЗатратыНаВыпускПродукции(/*
	СтруктураШапкиДокумента,
	ВыборкаБаза,
	СтрокаВыборки,
	СтрокаВыборкиЗатраты,
	ХарактерЗатрат,
	СпособРаспределения,
	СтатусМатериальныхЗатрат,
	НомерПередела,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*СуммаОстаток = 0
	   И ПостояннаяРазницаОстаток = 0
	   И ВременнаяРазницаОстаток = 0*/)
			{
			}
			/*// РаспределятьПустуюАналитику
*/
			//);
			//МассивКоэф = Новый Массив;
			//ВсегоБазаРаспределения = 0;
			//ВсегоБазаРаспределенияНЗП = 0;
			//ВыборкаБаза.Сбросить();
			while(true/*ВыборкаБаза.НайтиСледующий(СтруктураПоиска)*/)
			{
				if(true/*ВыборкаБаза.ВидВыпуска = Перечисления.ВидыВыпуска.Наработка*/)
				{
					//МассивКоэф.Добавить(0);
					//ВсегоБазаРаспределенияНЗП = ВсегоБазаРаспределенияНЗП + ВыборкаБаза.База + ВыборкаБаза.БазаОстатокНЗП;
				}
			}
			/*// Если не удалось определить базу распределения,
*/
			/*// попробуем распределить пустые номенклатурные группы и пустые заказы
*/
			/*// по всем номенклатурным группам и всем заказам.
*/
			if(true/*ВсегоБазаРаспределения = 0*/)
			{
				/*// РаспределятьПустуюАналитику
*/
				//);
				//МассивКоэф = Новый Массив;
				//ВсегоБазаРаспределения = 0;
				//ВсегоБазаРаспределенияНЗП = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.НайтиСледующий(СтруктураПоиска)*/)
				{
					if(true/*ВыборкаБаза.ВидВыпуска = Перечисления.ВидыВыпуска.Наработка*/)
					{
						//МассивКоэф.Добавить(0);
						//ВсегоБазаРаспределенияНЗП = ВсегоБазаРаспределенияНЗП + ВыборкаБаза.База + ВыборкаБаза.БазаОстатокНЗП;
					}
				}
				//;;
			}
			if(true/*ВсегоБазаРаспределения <> 0*/)
			{
				/*// Определим остаток затрат для распределения.
*/
				//СуммаНаВыпуск = 0;
				//ПостояннаяРазницаНаВыпуск = 0;
				//ВременнаяРазницаНаВыпуск = 0;
				/*РассчитатьОстатокСуммыЗатрат(
			СтруктураШапкиДокумента,
			СтрокаВыборки,
			ВсегоБазаРаспределения,
			ВсегоБазаРаспределенияНЗП,
			СуммаОстаток,
			ПостояннаяРазницаОстаток,
			ВременнаяРазницаОстаток,
			СуммаНаВыпуск,
			ПостояннаяРазницаНаВыпуск,
			ВременнаяРазницаНаВыпуск
			);*/
				//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаНаВыпуск, МассивКоэф, 2);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаНаВыпуск, МассивКоэф, 2);
					//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаНаВыпуск, МассивКоэф, 2);
					//ОбщаяСуммаНаВыпуск = СуммаНаВыпуск + ПостояннаяРазницаНаВыпуск + ВременнаяРазницаНаВыпуск;
					//МассивОбщаяСумма   = ОбщегоНазначения.РаспределитьПропорционально(ОбщаяСуммаНаВыпуск, МассивКоэф, 2);
				}
				//Индекс = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.НайтиСледующий(СтруктураПоиска)*/)
				{
					//Сумма = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
						//ОбщаяСумма        = ?(МассивОбщаяСумма = Неопределено, 0, МассивОбщаяСумма[Индекс]);
						/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
						if(true/*Сумма + ПостояннаяРазница + ВременнаяРазница <> ОбщаяСумма*/)
						{
							if(true/*ВременнаяРазница <> 0*/)
							{
								//ВременнаяРазница = ОбщаяСумма - (Сумма + ПостояннаяРазница);
							}
						}
					}
					/*// Формирование движений по регистру "Затраты на выпуск".
*/
					/*СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииРаспределениеЗатрат(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				ВыборкаБаза,
				СтрокаВыборкиЗатраты.СтатьяЗатрат,
				ХарактерЗатрат,
				СтатусМатериальныхЗатрат,
				Сумма,
				ПостояннаяРазница,
				ВременнаяРазница,
				НаборЗаписейЗатратыНаВыпуск
				);*/
					/*// Формирование движений по регистру бухгалтерии.	
*/
					if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
			   И СтрокаВыборки.НоменклатурнаяГруппа <> ВыборкаБаза.НоменклатурнаяГруппа*/)
					{
						/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					СтруктураШапкиДокумента.ВидОтраженияВУчете,
					СтрокаВыборки,
					ВыборкаБаза,
					СтрокаВыборкиЗатраты.СтатьяЗатрат,
					ХарактерЗатрат,
					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
					//Индекс = Индекс + 1;
				}
				/*// Формирование расходных движений по регистру "Незавершенное производство".
*/
				/*// Затрата 
*/
				/*// ХарактеристикаЗатраты
*/
				/*// СерияЗатраты
*/
				/*// Количество
*/
				/*СуммаНаВыпуск,
			ПостояннаяРазницаНаВыпуск,
			ВременнаяРазницаНаВыпуск,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейНезавершенноеПроизводство
			);*/
			}
		}
		// РаспределитьЗатратыНаВыпускПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО ПРОИЗВОДСТВЕННЫМ ЗАТРАТАМ
		// Функция формирует текст запроса по производственным затратам.
		//
		// Возвращаемое значение:
		//	Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоПроизводственнымЗатратам(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|	
	|	//ДляНалУчета НезавершенноеПроизводство.ВременнаяРазницаОстаток,
	|	//ДляНалУчета НезавершенноеПроизводство.ПостояннаяРазницаОстаток,
	|
	|	НезавершенноеПроизводство.СтоимостьОстаток КАК СуммаОстаток,
	|	НезавершенноеПроизводство.КоличествоОстаток КАК КоличествоОстаток
	|	
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница,
	|		Не Затрата ССЫЛКА Перечисление.ХарактерЗатрат
	|		И Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		И СтатьяЗатрат В (&МассивСтатьиЗатрат)
	|		//ДляРеглУчета И Организация = &Организация
	|		//ДляНалУчета И СчетУчета В (&МассивСчетовУчета)
	|		) КАК НезавершенноеПроизводство
	|	
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			Истина КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		ГДЕ
	|	//ДляБухУчета			Не СчетаУчетаЕНВД.ПодлежитРаспределению
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		НезавершенноеПроизводство.СчетУчета = СчетаУчетаЕНВД.Счет
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоПроизводственнымЗатратам()
		// Процедура устанавливает параметры запроса по производственным затратам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	МассивСтатьиЗатрат - Массив - Массив статей затрат
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросаПоПроизводственнымЗатратам(/*
	СтруктураШапкиДокумента,
	МассивСтатьиЗатрат,
	СпособРасчета,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата",    СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата",    СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("МассивСтатьиЗатрат", МассивСтатьиЗатрат);
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			//МассивСчетовУчета = Новый Массив;
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОсновногоПроизводства);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыВспомогательныхПроизводств);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОбслуживающихПроизводств);
			//МассивСчетовУчета.Добавить(ПланыСчетов.Налоговый.РасходыПоДеятельностиЕНВД);
			//Запрос.УстановитьПараметр("МассивСчетовУчета", МассивСчетовУчета);
		}
		// УстановитьПараметрыЗапросаПоПроизводственнымЗатратам()
		// Функция формирует запрос по производственным затратам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультЗапроса - Результат запроса по способам распределения
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по производственным затратам.
		//

		public object СформироватьЗапросПоПроизводственнымЗатратам(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	СпособРасчета
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоПроизводственнымЗатратам();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//ТаблицаЗначений = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выгрузить();
			//ТаблицаЗначений.Свернуть("СтатьяЗатрат", "");
			//МассивСтатьиЗатрат = ТаблицаЗначений.ВыгрузитьКолонку("СтатьяЗатрат");
			/*УстановитьПараметрыЗапросаПоПроизводственнымЗатратам(
		СтруктураШапкиДокумента,
		МассивСтатьиЗатрат,
		СпособРасчета,
		Запрос
		);*/
			return null;
		}
		// СформироватьЗапросПоПроизводственнымЗатратам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ПРОИЗВОДСТВЕННЫХ ЗАТРАТ
		// Процедура производит распределение затрат по рассчитанной базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	ВсегоПеределов - Число - Общее количество переделов
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьПроизводственныеЗатратыПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	НомерПередела,
	ВсегоПеределов,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			/*// Получим построитель запроса по базе распределения.
*/
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределения
		);*/
			/*ПостроительЗапросаНаПродукцию = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределенияНаПродукцию
		);*/
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			//МассивКоэф = Новый Массив;
			//МассивКоэфНУ = Новый Массив;
			//ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//КоличествоОстаток = ВыборкаПоЗатратам.КоличествоОстаток;
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				/*// Пропускаем строки с пустым количеством и пустой суммой.
*/
				if(true/*КоличествоОстаток = 0
		   И СуммаОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
				//РаспределятьНаПодчиненныеПодразделения = Ложь;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения,
			ХарактерРаспределенияЗатрат,
			РаспределятьНаПодчиненныеПодразделения
			);*/
				if(true/*Не РаспределятьЗатраты*/)
				{
				}
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					//ЕНВД = ВыборкаПоЗатратам.ЕНВД;
				}
				/*// Отберем строки базы распределения.
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапроса
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапроса.Выполнить();
				}
				//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
				/*// Отберем строки базы распределения на продукцию.
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапросаНаПродукцию
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапросаНаПродукцию.Выполнить();
				}
				//РезультатЗапросаБазаНаПродукцию = ПостроительЗапросаНаПродукцию.Результат;
				//ВыборкаБазаНаПродукцию = РезультатЗапросаБазаНаПродукцию.Выбрать();
				//ВсегоБазаРаспределения = 0;
				//ВсегоБазаРаспределенияНУ = 0;
				//МассивКоэф.Очистить();
				//МассивКоэфНУ.Очистить();
				//ВыборкаБаза = РезультатЗапросаБаза.Выбрать();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//МассивКоэф.Добавить(ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
					//ВсегоБазаРаспределения = ВсегоБазаРаспределения + (ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//МассивКоэфНУ.Добавить(ВыборкаБаза.БазаПриходНУ * ВыборкаБаза.БазаНаПодчиненныеНУ);
						//ВсегоБазаРаспределенияНУ = ВсегоБазаРаспределенияНУ + (ВыборкаБаза.БазаПриходНУ * ВыборкаБаза.БазаНаПодчиненныеНУ);
					}
				}
				if(true/*ВсегоБазаРаспределения = 0 И ВсегоБазаРаспределенияНУ = 0*/)
				{
					if(true/*НомерПередела = ВсегоПеределов*/)
					{
						/*ОбщегоНазначения.Сообщение("Сумма базы коэф. по " + СпособРаспределения + " равна 0, для:
					|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
					|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
					|Заказ: " + ВыборкаПоЗатратам.Заказ + "
					|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа, СтатусСообщения.Важное);*/
					}
				}
				//МассивКоличество = ОбщегоНазначения.РаспределитьПропорционально(КоличествоОстаток, МассивКоэф, 3);
				//МассивСумма      = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
					//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
					//МассивСуммаНУ           = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэфНУ, 2);
				}
				/*// Формирование расходных движений по регистру "Незавершенное производство".
*/
				/*СформироватьДвиженияПоРегиструНезавершенноеПроизводствоРаспределениеЗатрат(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВыборкаПоЗатратам.СтатьяЗатрат,
			ХарактерЗатрат,
			ВыборкаПоЗатратам.Затрата,
			ВыборкаПоЗатратам.ХарактеристикаЗатраты,
			ВыборкаПоЗатратам.СерияЗатраты,
			НомерПередела,
			КоличествоОстаток,
			СуммаОстаток,
			ПостояннаяРазницаОстаток,
			ВременнаяРазницаОстаток,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейНезавершенноеПроизводство
			);*/
				//Индекс = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//Количество = ?(МассивКоличество = Неопределено, 0, МассивКоличество[Индекс]);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//СуммаНУ           = ?(МассивСуммаНУ = Неопределено, 0, МассивСуммаНУ[Индекс]);
						//СуммаБУ           = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
						//ВременнаяРазница  = ВременнаяРазница + СуммаБУ - СуммаНУ;
						//Сумма             = СуммаНУ;
					}
					if(true/*Количество <> 0
			 ИЛИ Сумма <> 0
			 ИЛИ ПостояннаяРазница <> 0 
			 ИЛИ ВременнаяРазница <> 0*/)
					{
						/*// Формирование приходных движений по регистру "Незавершенное производство".
*/
						/*// Затрата 
*/
						/*// ХарактеристикаЗатраты
*/
						/*// СерияЗатраты
*/
						/*// Количество
*/
						/*Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					ВидДвиженияНакопления.Приход,
					НаборЗаписейНезавершенноеПроизводство
					);*/
						/*// Формирование движений по регистру бухгалтерии.	
*/
						if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
						{
							/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
						СтруктураШапкиДокумента,
						СтруктураШапкиДокумента.ВидОтраженияВУчете,
						ВыборкаПоЗатратам,
						ВыборкаБаза,
						ВыборкаПоЗатратам.СтатьяЗатрат,
						ХарактерЗатрат,
						Сумма,
						ПостояннаяРазница,
						ВременнаяРазница,
						РегистрБухгалтерииНаборЗаписей
						);*/
						}
						/*// Распределение затрат на выпуск продукции по базе.
*/
						/*РаспределитьЗатратыНаВыпускПродукции(
					СтруктураШапкиДокумента,
					ВыборкаБазаНаПродукцию,
					ВыборкаБаза,
					ВыборкаПоЗатратам,
					ХарактерЗатрат,
					СпособРаспределения,
					ВыборкаПоЗатратам.СтатусМатериальныхЗатрат,
					НомерПередела,
					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					НаборЗаписейНезавершенноеПроизводство,
					НаборЗаписейЗатратыНаВыпуск,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
					//Индекс = Индекс + 1;
				}
				//;;
			}
			//;;
		}
		// РаспределитьПроизводственныеЗатратыПоБазеРаспределения()
		// Процедура производит распределение производственных расходов.
		//
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	ВсегоПеределов - Число - Общее количество переделов
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределениеПроизводственныхРасходов(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	СпособРасчета,
	НомерПередела,
	ВсегоПеределов,
	СтруктураДвижений
	*/)
		{
			/*// Сформируем запрос по производственным расходам.
*/
			/*ЗапросПоЗатратам = СформироватьЗапросПоПроизводственнымЗатратам(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоСпособамРаспределенияЗатрат,
		СпособРасчета
		);*/
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()
	   И Не РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	   И Не РезультатЗапросаБазаРаспределения.Пустой()*/)
			{
				/*РаспределитьПроизводственныеЗатратыПоБазеРаспределения(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоЗатратам,
			РезультатЗапросаПоСпособамРаспределенияЗатрат,
			РезультатЗапросаБазаРаспределения,
			РезультатЗапросаБазаРаспределенияНаПродукцию,
			НомерПередела,
			ВсегоПеределов,
			СтруктураДвижений.ДвиженияНЗП,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.Операция
			);*/
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеПроизводственныхРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "ЗАТРАТЫ"
		// Функция формирует текст запроса по регистру "Затраты".
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса.
		//

		public object СформироватьТекстЗапросаПоЗатратам(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета Затраты.Организация,
	|	Затраты.Подразделение,
	|	Затраты.СтатьяЗатрат,
	|	Затраты.СтатьяЗатрат.ХарактерЗатрат КАК ХарактерЗатрат,
	|	Затраты.СтатьяЗатрат.ВидРасходовНУ КАК ВидРасходовНУ,
	|	Затраты.НоменклатурнаяГруппа,
	|	Затраты.Заказ,
	|	//ДляУпрУчета Затраты.Проект,
	|	//ДляРеглУчета Затраты.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ПодлежитРаспределению, Ложь) КАК ПодлежитРаспределению,
	|
	|	//ДляНалУчета Ложь КАК ЕНВД,
	|	//ДляНалУчета ВЫБОР КОГДА Затраты.СчетУчета В (&МассивРаспределяемыхСчетов) ТОГДА
	|	//ДляНалУчета 	Истина
	|	//ДляНалУчета ИНАЧЕ
	|	//ДляНалУчета 	Ложь
	|	//ДляНалУчета КОНЕЦ КАК ПодлежитРаспределению,
	|	
	|	//ДляНалУчета Затраты.ПостояннаяРазницаОстаток,
	|	//ДляНалУчета Затраты.ВременнаяРазницаОстаток,
	|
	|	Затраты.СуммаОстаток
	|
	|ИЗ
	|	РегистрНакопления.Затраты%СуффиксУчета%.Остатки(&КонГраница,
	|		//ДляУпрУчета СтатьяЗатрат.ХарактерЗатрат В (&МассивХарактеровЗатрат)
	|		//ДляРеглУчета Организация = &Организация 
	|		//ДляРеглУчета И СчетУчета В ИЕРАРХИИ (&МассивСчетовЗатрат)
	|
	|		//ДляНалУчета И СчетУчета Не В (&МассивСчетовКосвенныхРасходов)
	|		//ДляНалУчета И (СтатьяЗатрат.ВидРасходовНУ Не В (&НормируемыеВидыРасходов)
	|		//ДляНалУчета 	ИЛИ СчетУчета Не В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Налоговый.РасходыНаПродажу))
	|		//ДляНалУчета	)
	|
	|		//РавноВидРасходовНУ И СтатьяЗатрат.ВидРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.ТранспортныеРасходы)
	|		//НеРавноВидРасходовНУ И СтатьяЗатрат.ВидРасходовНУ <> ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.ТранспортныеРасходы)
	|
	|		) КАК Затраты
	|	
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			СчетаУчетаЕНВД.ПодлежитРаспределению,
	|	//ДляБухУчета			(Не СчетаУчетаЕНВД.ПодлежитРаспределению) КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		Затраты.СчетУчета = СчетаУчетаЕНВД.Счет
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета Затраты.Организация,
	|	//ДляРеглУчета Затраты.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ПодлежитРаспределению, Ложь),
	|	Затраты.Подразделение,
	|	Затраты.НоменклатурнаяГруппа,
	|	Затраты.Заказ,
	|	Затраты.СтатьяЗатрат
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоЗатратам()
		// Функция формирует массив счетов затрат.
		//
		// Параметры
		//	СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//
		// Возвращаемое значение:
		//	Массив – Массив счетов затрат.
		//

		public object ПолучитьМассивСчетовЗатрат(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат
	*/)
		{
			//МассивСчетовЗатрат = Новый Массив;
			if(true/*ХарактерЗатрат.Пустая()*/)
			{
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
					//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбслуживающиеПроизводства);
					if(true/*Не СтруктураШапкиДокумента.УчетнаяПолитика.ДиректКостинг*/)
					{
						//МассивСчетовЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);
					}
				}
			}
			return null;
		}
		// ПолучитьМассивСчетовЗатрат()
		// Функция формирует запрос по регистру "Затраты".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Характер затрат для выборки остатков
		//	ВидРасходовНУ - ПеречислениеСсылка.ВидыРасходовНУ - Вид расхода НУ для выборки остатков
		//	УсловиеВидРасходовНУ - ВидСравнения - Условие для вида расходов НУ
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру "Затраты".
		//

		public object СформироватьЗапросПоЗатратам(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат,
	ВидРасходовНУ,
	УсловиеВидРасходовНУ
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоЗатратам();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			if(true/*ЗначениеЗаполнено(ВидРасходовНУ)*/)
			{
				if(true/*УсловиеВидРасходовНУ = ВидСравнения.Равно*/)
				{
					//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//РавноВидРасходовНУ", "");
				}
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//МассивХарактеровЗатрат = Новый Массив;
				if(true/*ХарактерЗатрат.Пустая()*/)
				{
					//МассивХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщепроизводственныеРасходы);
					if(true/*Не СтруктураШапкиДокумента.УчетнаяПолитика.ДиректКостинг*/)
					{
						//МассивХарактеровЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы);
					}
				}
				//Запрос.УстановитьПараметр("МассивХарактеровЗатрат", МассивХарактеровЗатрат);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//МассивРаспределяемыхСчетов = Новый Массив;
				//МассивРаспределяемыхСчетов.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщепроизводственныеРасходыРаспределяемые);
				//МассивРаспределяемыхСчетов.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщехозяйственныеРасходыРаспределяемые);
				//МассивРаспределяемыхСчетов.Добавить(ПланыСчетов.Налоговый.ИздержкиОбращенияРаспределяемые);
				//МассивРаспределяемыхСчетов.Добавить(ПланыСчетов.Налоговый.КоммерческиеРасходыРаспределяемые);
				//Запрос.УстановитьПараметр("МассивРаспределяемыхСчетов", МассивРаспределяемыхСчетов);
				//НормируемыеВидыРасходов = Новый Массив;
				//НормируемыеВидыРасходов.Добавить(Перечисления.ВидыРасходовНУ.РасходыНаРекламуНормируемые);
				//НормируемыеВидыРасходов.Добавить(Перечисления.ВидыРасходовНУ.ПредставительскиеРасходы);
				//НормируемыеВидыРасходов.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеСтрахованиеПоДоговорамДолгосрочногоСтрахованияЖизниРаботников);
				//НормируемыеВидыРасходов.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахование);
				//НормируемыеВидыРасходов.Добавить(Перечисления.ВидыРасходовНУ.ДобровольноеЛичноеСтрахованиеНаСлучайСмертиИлиУтратыРаботоспособности);
				//Запрос.УстановитьПараметр("НормируемыеВидыРасходов", НормируемыеВидыРасходов);
				//МассивСчетовКосвенныхРасходов = Новый Массив;
				//МассивСчетовКосвенныхРасходов.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщепроизводственныеРасходы);
				//МассивСчетовКосвенныхРасходов.Добавить(ПланыСчетов.Налоговый.КосвенныеРасходыПоВыявленномуБраку);
				//МассивСчетовКосвенныхРасходов.Добавить(ПланыСчетов.Налоговый.КосвенныеОбщехозяйственныеРасходы);
				//Запрос.УстановитьПараметр("МассивСчетовКосвенныхРасходов", МассивСчетовКосвенныхРасходов);
			}
			return null;
		}
		// СформироватьЗапросПоЗатратам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА СПИСАНИЯ ОБЩЕПРОИЗВОДСТВЕННЫХ И ОБЩЕХОЗЯЙСТВЕННЫХ РАСХОДОВ НА РАСХОДЫ БУДУЩИХ ПЕРИОДОВ
		// Процедура списания ОХР и ОПР на расходы будущих периодов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//

		public void СписаниеОбщепроизводственныхИОбщехозяйственныхРасходовНаРБП(/*
	СтруктураШапкиДокумента
	*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
			}
			//СтруктураИмен = Новый Структура("Затраты, Операция");
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			//МассивХарактеровРаспределения = Новый Массив;
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			/*// Сформируем запрос по способам распределения статей затрат.	
*/
			/*// ФормироватьВременнуюТаблицу
*/
			/*СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//РезультатЗапросаПоСпособамРаспределенияЗатрат = ЗапросПоСпособамРаспределенияЗатрат.Выполнить();
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			/*// Сформируем запрос по затратам.	
*/
			/*// ВидРасходовНУ,
*/
			/*// УсловиеВидРасходовНУ
*/
			//);
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()*/)
			{
				//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
				while(true/*ВыборкаПоЗатратам.Следующий()*/)
				{
					//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
					/*// Пропускаем строки с пустой суммой.
*/
					if(true/*СуммаОстаток = 0*/)
					{
					}
					/*// Проверим необходимость распределять затраты.
*/
					//СпособРаспределения = Неопределено;
					//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
					//РаспределятьНаПодчиненныеПодразделения = Ложь;
					/*// ОпределятьПоХарактеруЗатрат
*/
					/*// ПроверятьУказаниеСпособаРаспределения
*/
					/*СпособРаспределения,
				ХарактерРаспределенияЗатрат,
				РаспределятьНаПодчиненныеПодразделения
				);*/
					if(true/*Не РаспределятьЗатраты*/)
					{
					}
					//ХарактерЗатрат = УправлениеЗатратами.ПолучитьХарактерЗатратПоСчетуЗатрат(ВыборкаПоЗатратам.СчетУчета, ВыборкаПоЗатратам.СтатьяЗатрат);
					/*ОтнестиНаРасходыБудущихПериодовРегл(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ХарактерЗатрат,
				СуммаОстаток,
				0,
				0,
				СтруктураДвижений.Операция
				);*/
					/*// Формирование движений по регистру "Затраты".
*/
					/*СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ХарактерЗатрат,
				СуммаОстаток,
				0,
				0,
				ВидДвиженияНакопления.Расход,
				СтруктураДвижений.ДвиженияЗатраты
				);*/
				}
				//;;
			}
			if(true/*СтруктураДвижений.ДвиженияЗатраты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// СписаниеОбщепроизводственныхИОбщехозяйственныхРасходовНаРБП()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ОБЩЕПРОИЗВОДСТВЕННЫХ И ОБЩЕХОЗЯЙСТВЕННЫХ РАСХОДОВ
		// Процедура выполняет распределение затрат по проектам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ВыборкаРаспределениеПоПроектам - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса распределения по проектам
		//	СуммаОстаток - Число - Сумма затрат по управленческому учету
		//	НаборЗаписейЗатратыОбороты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты (обороты)".
		//

		public void РаспределитьСписанныеЗатратыПоПроектам(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ВыборкаРаспределениеПоПроектам,
	СуммаОстаток,
	НаборЗаписейЗатратыОбороты
	*/)
		{
			if(true/*СтруктураШапкиДокумента.Свойство("ВедениеУчетаЗатратПоПроектам") И СтруктураШапкиДокумента.ВедениеУчетаЗатратПоПроектам*/)
			{
				//Проект = СтрокаВыборки.Проект;
			}
			//ВсегоБазаРаспределения = 0;
			if(true/*ТипЗнч(Проект) = Тип("СправочникСсылка.ВидыРаспределенияПоПроектам")*/)
			{
				//СтруктураПоиска = Новый Структура("ВидРаспределения", Проект);
				//МассивКоэф = Новый Массив;
				//ВыборкаРаспределениеПоПроектам.Сбросить();
				while(true/*ВыборкаРаспределениеПоПроектам.НайтиСледующий(СтруктураПоиска)*/)
				{
					//МассивКоэф.Добавить(ВыборкаРаспределениеПоПроектам.ДоляРаспределения);
					//ВсегоБазаРаспределения = ВсегоБазаРаспределения + ВыборкаРаспределениеПоПроектам.ДоляРаспределения;
				}
				if(true/*ВсегоБазаРаспределения = 0*/)
				{
					//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение затрат по виду распределения """ + Проект + """", СтатусСообщения.Внимание);
					//Проект = Справочники.Проекты.ПустаяСсылка();
				}
			}
			if(true/*ВсегоБазаРаспределения <> 0*/)
			{
				//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
				//Индекс = 0;
				//ВыборкаРаспределениеПоПроектам.Сбросить();
				while(true/*ВыборкаРаспределениеПоПроектам.НайтиСледующий(СтруктураПоиска)*/)
				{
					//Сумма = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					/*СформироватьДвиженияПоРегиструЗатратыОборотыРаспределениеЗатрат(
				СтруктураШапкиДокумента,
				СтрокаВыборки,
				ВыборкаРаспределениеПоПроектам.Проект,
				Сумма,
				НаборЗаписейЗатратыОбороты
			);*/
					//Индекс = Индекс + 1;
				}
				//;;
			}
		}
		// РаспределитьСписанныеЗатратыПоПроектам()
		// Процедура производит распределение затрат по рассчитанной базе в незавершенное производство.
		//
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  ВыборкаПоЗатратам - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ВыборкаРаспределениеПоПроектам - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса распределения по проектам
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	СпособРаспределения - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Текущий способ распределения
		//	ХарактерРаспределенияЗатрат - ПеречислениеСсылка.ХарактерРаспределенияЗатрат - Текущий характер распределения затрат
		//	РаспределятьНаПодчиненныеПодразделения - Булево - Признак распределения на подчиненные подразделения
		//	ЕНВД - Булево - Признак отнесения расходов на вид деятельности, облагаемый ЕНВД
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	ВсегоПеределов - Число - Всего передела
		//  СуммаОстаток - Число - Сумма затрат
		//  ПостояннаяРазницаОстаток - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазницаОстаток - Число - Сумма затрат в части временной разницы
		//	ПостроительЗапроса - ПостроительЗапроса - Построитель запроса по базе распределения
		//	ПостроительЗапросаНаПродукцию - ПостроительЗапроса - Построитель запроса по базе распределения на продукцию
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатраты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты"
		//	НаборЗаписейЗатратыОбороты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты (обороты)"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьЗатратыВНезавершенноеПроизводство(/*
	СтруктураШапкиДокумента,
	ВыборкаПоЗатратам,
	ВыборкаРаспределениеПоПроектам,
	ХарактерЗатрат,
	СпособРаспределения,
	ХарактерРаспределенияЗатрат,
	РаспределятьНаПодчиненныеПодразделения,
	ЕНВД,
	НомерПередела,
	ВсегоПеределов,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток,
	ПостроительЗапроса,
	ПостроительЗапросаНаПродукцию,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатраты,
	НаборЗаписейЗатратыОбороты,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*СуммаОстаток = 0
	   И ПостояннаяРазницаОстаток = 0
	   И ВременнаяРазницаОстаток = 0*/)
			{
			}
			/*// Отберем строки базы распределения.
*/
			/*// ОпределятьПоЕНВД
*/
			/*// ОпределятьПоСчетуУчету
*/
			/*// ОтборПоПродукции
*/
			/*ПостроительЗапроса
		);*/
			if(true/*УстановленНовыйОтбор*/)
			{
				//ПостроительЗапроса.Выполнить();
			}
			//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
			/*// Отберем строки базы распределения на продукцию.
*/
			/*// ОпределятьПоЕНВД
*/
			/*// ОпределятьПоСчетуУчету
*/
			/*// ОтборПоПродукции
*/
			/*ПостроительЗапросаНаПродукцию
		);*/
			if(true/*УстановленНовыйОтбор*/)
			{
				//ПостроительЗапросаНаПродукцию.Выполнить();
			}
			//РезультатЗапросаБазаНаПродукцию = ПостроительЗапросаНаПродукцию.Результат;
			//ВыборкаБазаНаПродукцию = РезультатЗапросаБазаНаПродукцию.Выбрать();
			//ВсегоБазаРаспределения = 0;
			//МассивКоэф = Новый Массив;
			//МассивКоэфНУ = Новый Массив;
			//ВыборкаБаза = РезультатЗапросаБаза.Выбрать();
			while(true/*ВыборкаБаза.Следующий()*/)
			{
				//МассивКоэф.Добавить(ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//МассивКоэфНУ.Добавить(ВыборкаБаза.БазаПриходНУ * ВыборкаБаза.БазаНаПодчиненныеНУ);
				}
				//ВсегоБазаРаспределения = ВсегоБазаРаспределения + (ВыборкаБаза.БазаПриход * ВыборкаБаза.БазаНаПодчиненные);
			}
			if(true/*ВсегоБазаРаспределения = 0*/)
			{
				if(true/*НомерПередела = ВсегоПеределов*/)
				{
					/*ОбщегоНазначения.Сообщение("Сумма базы коэф. по " + СпособРаспределения + " равна 0, для:
				|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
				|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
				|Заказ: " + ВыборкаПоЗатратам.Заказ + "
				|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа, СтатусСообщения.Важное);*/
				}
			}
			//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ОбщаяСумма = СуммаОстаток + ПостояннаяРазницаОстаток + ВременнаяРазницаОстаток;
				//МассивОбщаяСумма = ОбщегоНазначения.РаспределитьПропорционально(ОбщаяСумма, МассивКоэф, 2);
				//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
				//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
				//МассивСуммаНУ           = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэфНУ, 2);
			}
			//Индекс = 0;
			//ВыборкаБаза.Сбросить();
			while(true/*ВыборкаБаза.Следующий()*/)
			{
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//СуммаНУ           = ?(МассивСуммаНУ = Неопределено, 0, МассивСуммаНУ[Индекс]);
					//СуммаБУ           = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
					//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
					//ОбщаяСумма        = ?(МассивОбщаяСумма = Неопределено, 0, МассивОбщаяСумма[Индекс]);
					//ВременнаяРазница = ВременнаяРазница + СуммаБУ - СуммаНУ;
					//Сумма = СуммаНУ;
					/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
					if(true/*Сумма + ПостояннаяРазница + ВременнаяРазница <> ОбщаяСумма*/)
					{
						if(true/*ВременнаяРазница <> 0*/)
						{
							//ВременнаяРазница = ОбщаяСумма - (Сумма + ПостояннаяРазница);
						}
					}
				}
				if(true/*Сумма <> 0
		 ИЛИ ПостояннаяРазница <> 0 
		 ИЛИ ВременнаяРазница <> 0*/)
				{
					/*// Формирование приходных движений по регистру "Незавершенное производство".
*/
					/*// Затрата 
*/
					/*// ХарактеристикаЗатраты
*/
					/*// СерияЗатраты
*/
					/*// Количество
*/
					/*Сумма,
				ПостояннаяРазница,
				ВременнаяРазница,
				ВидДвиженияНакопления.Приход,
				НаборЗаписейНезавершенноеПроизводство
				);*/
					/*// Формирование движений по регистру бухгалтерии.	
*/
					if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
					{
						/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					СтруктураШапкиДокумента.ВидОтраженияВУчете,
					ВыборкаПоЗатратам,
					ВыборкаБаза,
					ВыборкаПоЗатратам.СтатьяЗатрат,
					ХарактерЗатрат,
					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
					/*// Распределение затрат на выпуск продукции по базе.
*/
					/*//СтатусМатериальныхЗатрат
*/
					/*НомерПередела,
				Сумма,
				ПостояннаяРазница,
				ВременнаяРазница,
				НаборЗаписейНезавершенноеПроизводство,
				НаборЗаписейЗатратыНаВыпуск,
				РегистрБухгалтерииНаборЗаписей
				);*/
				}
				//Индекс = Индекс + 1;
			}
			/*// Формирование движений по регистру "Затраты".
*/
			/*СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат(
		СтруктураШапкиДокумента,
		ВыборкаПоЗатратам,
		ХарактерЗатрат,
		СуммаОстаток,
		ПостояннаяРазницаОстаток,
		ВременнаяРазницаОстаток,
		ВидДвиженияНакопления.Расход,
		НаборЗаписейЗатраты
		);*/
			/*// Формирование движений по регистру "Затраты (обороты)".
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				/*РаспределитьСписанныеЗатратыПоПроектам(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВыборкаРаспределениеПоПроектам,
			СуммаОстаток,
			НаборЗаписейЗатратыОбороты
		);*/
			}
		}
		// РаспределитьЗатратыВНезавершенноеПроизводство()
		// Процедура производит распределение затрат по рассчитанной базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//	РезультатЗапросаРаспределениеПоПроектам - РезультатЗапроса - Результат запроса по коэффициентам распределения по проектам
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	МинимальныйПередел - Число - Минимальный номер передела
		//	ВсегоПеределов - Число - Общее количество переделов
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатраты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты"
		//	НаборЗаписейЗатратыОбороты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты (обороты)"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьЗатратыПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	РезультатЗапросаРаспределениеПоПроектам,
	НомерПередела,
	МинимальныйПередел,
	ВсегоПеределов,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатраты,
	НаборЗаписейЗатратыОбороты,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			/*// Получим построитель запроса по базе распределения.
*/
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределения
		);*/
			/*ПостроительЗапросаНаПродукцию = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределенияНаПродукцию
		);*/
			/*// Выберем способы распределения затрат.
*/
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			/*// Выберем коэффициенты распределения по проектам.
*/
			//ВыборкаРаспределениеПоПроектам = РезультатЗапросаРаспределениеПоПроектам.Выбрать();
			/*// Получим коэффициент распределения на ЕНВД.
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				/*КоэффициентЕНВД = НалоговыйУчет.КоэффициентРаспределенияРасходовПоВидамДеятельности(
			СтруктураШапкиДокумента.Организация, 
			СтруктураШапкиДокумента.мКонДата, 
			СтруктураШапкиДокумента.мНачДата
		);*/
			}
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				/*// Пропускаем строки с пустой суммой.
*/
				if(true/*СуммаОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
				//РаспределятьНаПодчиненныеПодразделения = Ложь;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения,
			ХарактерРаспределенияЗатрат,
			РаспределятьНаПодчиненныеПодразделения
			);*/
				if(true/*Не РаспределятьЗатраты*/)
				{
				}
				/*// Затраты с характером распределения "Не учитывать подразделение" распределяем только на первом переделе
*/
				/*// по всем подразделениям.
*/
				if(true/*ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение
		   И НомерПередела <> МинимальныйПередел*/)
				{
				}
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					//ХарактерЗатрат = УправлениеЗатратами.ПолучитьХарактерЗатратПоСчетуЗатрат(ВыборкаПоЗатратам.СчетУчета, ВыборкаПоЗатратам.СтатьяЗатрат);
				}
				/*// Распределим затраты по видам деятельности.
*/
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					if(true/*ВыборкаПоЗатратам.ПодлежитРаспределению*/)
					{
						//СуммаОстатокЕНВД = Окр(СуммаОстаток * КоэффициентЕНВД, 2, 1);
						//СуммаОстатокНеЕНВД = СуммаОстаток - СуммаОстатокЕНВД;
					}
				}
				/*// ЕНВД
*/
				/*НомерПередела,
			ВсегоПеределов,
			СуммаОстатокНеЕНВД,
			ПостояннаяРазницаОстаток,
			ВременнаяРазницаОстаток,
			ПостроительЗапроса,
			ПостроительЗапросаНаПродукцию,
			НаборЗаписейНезавершенноеПроизводство,
			НаборЗаписейЗатраты,
			НаборЗаписейЗатратыОбороты,
			НаборЗаписейЗатратыНаВыпуск,
			РегистрБухгалтерииНаборЗаписей
		);*/
				/*// Распределим затраты, относящиеся к ЕНВД.
*/
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
		   И СуммаОстатокЕНВД <> 0*/)
				{
					/*// ЕНВД
*/
					/*НомерПередела,
			ВсегоПеределов,
			СуммаОстатокЕНВД,
			0,
			0,
			ПостроительЗапроса,
			ПостроительЗапросаНаПродукцию,
			НаборЗаписейНезавершенноеПроизводство,
			НаборЗаписейЗатраты,
			НаборЗаписейЗатратыОбороты,
			НаборЗаписейЗатратыНаВыпуск,
			РегистрБухгалтерииНаборЗаписей
		);*/
				}
			}
			//;;
		}
		// РаспределитьЗатратыПоБазеРаспределения()
		// Процедура распределения ОХР и ОПР затрат.
		//
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//	РезультатЗапросаРаспределениеПоПроектам - РезультатЗапроса - Результат запроса по коэффициентам распределения по проектам
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	МинимальныйПередел - Число - Минимальный номер передела
		//	ВсегоПеределов - Число - Общее количество переделов
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределениеОбщепроизводственныхИОбщехозяйственныхРасходов(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	РезультатЗапросаРаспределениеПоПроектам,
	НомерПередела,
	МинимальныйПередел,
	ВсегоПеределов,
	СтруктураДвижений
	*/)
		{
			/*// ВидРасходовНУ,
*/
			/*// УсловиеВидРасходовНУ
*/
			//);
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()
	   И Не РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	   И Не РезультатЗапросаБазаРаспределения.Пустой()*/)
			{
				/*РаспределитьЗатратыПоБазеРаспределения(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоЗатратам,
			РезультатЗапросаПоСпособамРаспределенияЗатрат,
			РезультатЗапросаБазаРаспределения,
			РезультатЗапросаБазаРаспределенияНаПродукцию,
			РезультатЗапросаРаспределениеПоПроектам,
			НомерПередела,
			МинимальныйПередел,
			ВсегоПеределов,
			СтруктураДвижений.ДвиженияНЗП,
			СтруктураДвижений.ДвиженияЗатраты,
			СтруктураДвижений.ДвиженияЗатратыОбороты,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.Операция
			);*/
			}
			if(true/*СтруктураДвижений.ДвиженияЗатраты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.ДвиженияЗатратыОбороты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыОбороты.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеОбщепроизводственныхИОбщехозяйственныхРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "НЕЗАВЕРШЕННОЕ ПРОИЗВОДСТВО"
		// Функция формирует текст запроса по регистру "Незавершенное производство".
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса.
		//

		public object СформироватьТекстЗапросаПоОстаткамЗатратВНезавершенномПроизводстве(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.Затрата КАК ХарактерЗатрат,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	
	|	//ДляНалУчета НезавершенноеПроизводство.ПостояннаяРазницаНачальныйОстаток КАК ПостояннаяРазницаОстаток,
	|	//ДляНалУчета НезавершенноеПроизводство.ВременнаяРазницаНачальныйОстаток КАК ВременнаяРазницаОстаток,
	|	
	|	НезавершенноеПроизводство.СтоимостьНачальныйОстаток КАК СуммаОстаток
	|	
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, , ,
	|		Затрата В (&ХарактерЗатрат)
	|		//ДляРеглУчета И Организация = &Организация
	|		) КАК НезавершенноеПроизводство
	|		
	|ГДЕ
	|	НезавершенноеПроизводство.СтоимостьРасход = 0
	|	//ДляНалУчета И НезавершенноеПроизводство.ПостояннаяРазницаРасход = 0
	|	//ДляНалУчета И НезавершенноеПроизводство.ВременнаяРазницаРасход = 0
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.СтатьяЗатрат
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоОстаткамЗатратВНезавершенномПроизводстве()
		// Функция формирует запрос по регистру "Незавершенное производство".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру "Незавершенное производство".
		//

		public object СформироватьЗапросПоОстаткамЗатратВНезавершенномПроизводстве(/*
	СтруктураШапкиДокумента,
	СпособРасчета
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоОстаткамЗатратВНезавершенномПроизводстве();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивХарактерЗатрат = Новый Массив;
			//МассивХарактерЗатрат.Добавить(Перечисления.ХарактерЗатрат.ПроизводственныеРасходы);
			//МассивХарактерЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщепроизводственныеРасходы);
			//МассивХарактерЗатрат.Добавить(Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы);
			//МассивХарактерЗатрат.Добавить(Перечисления.ХарактерЗатрат.БракВПроизводстве);
			//Запрос.УстановитьПараметр("ХарактерЗатрат", МассивХарактерЗатрат);
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			return null;
		}
		// СформироватьЗапросПоОстаткамЗатратВНезавершенномПроизводстве()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ ОСТАТКА РАСХОДОВ В НЗП НА ВЫПУСК ПРОДУКЦИИ
		// Процедура производит распределение затрат на выпуск продукции по рассчитанной базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьОстатокКосвенныхРасходовНаВыпускПродукции(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейЗатратыНаВыпускПродукции,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			/*// Получим построитель запроса по базе распределения.
*/
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределения
		);*/
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			//МассивКоэф = Новый Массив;
			//МассивКоэфНУ = Новый Массив;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения
			);*/
				if(true/*Не РаспределятьЗатраты*/)
				{
				}
				/*// Отберем строки базы распределения.
*/
				/*// НомерПередела
*/
				/*// РаспределятьНаПодчиненныеПодразделения
*/
				/*// ЕНВД
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапроса
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапроса.Выполнить();
				}
				//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
				//ВсегоБазаРаспределения = 0;
				//ВсегоБазаРаспределенияНЗП = 0;
				//МассивКоэф.Очистить();
				//ВыборкаБаза = РезультатЗапросаБаза.Выбрать();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					if(true/*ВыборкаБаза.ВидВыпуска = Перечисления.ВидыВыпуска.Наработка*/)
					{
						//МассивКоэф.Добавить(0);
						//ВсегоБазаРаспределенияНЗП = ВсегоБазаРаспределенияНЗП + ВыборкаБаза.База + ВыборкаБаза.БазаОстатокНЗП;
					}
				}
				if(true/*ВсегоБазаРаспределения = 0*/)
				{
				}
				/*// Определим остаток затрат для распределения.
*/
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				//СуммаНаВыпуск = 0;
				//ПостояннаяРазницаНаВыпуск = 0;
				//ВременнаяРазницаНаВыпуск = 0;
				/*РассчитатьОстатокСуммыЗатрат(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВсегоБазаРаспределения,
			ВсегоБазаРаспределенияНЗП,
			СуммаОстаток,
			ПостояннаяРазницаОстаток,
			ВременнаяРазницаОстаток,
			СуммаНаВыпуск,
			ПостояннаяРазницаНаВыпуск,
			ВременнаяРазницаНаВыпуск
			);*/
				//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаНаВыпуск, МассивКоэф, 2);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаНаВыпуск, МассивКоэф, 2);
					//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаНаВыпуск, МассивКоэф, 2);
				}
				//Индекс = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//Сумма = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
					}
					/*// Формирование движений по регистру "Затраты на выпуск".
*/
					/*СформироватьДвиженияПоРегиструЗатратыНаВыпускПродукцииРаспределениеЗатрат(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ВыборкаБаза,
				ВыборкаПоЗатратам.СтатьяЗатрат,
				ВыборкаПоЗатратам.ХарактерЗатрат,
				ВыборкаПоЗатратам.СтатусМатериальныхЗатрат,
				Сумма,
				ПостояннаяРазница,
				ВременнаяРазница,
				НаборЗаписейЗатратыНаВыпускПродукции
				);*/
					/*// Формирование движений по регистру бухгалтерии.	
*/
					if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
			   И ВыборкаПоЗатратам.НоменклатурнаяГруппа <> ВыборкаБаза.НоменклатурнаяГруппа*/)
					{
						/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
					СтруктураШапкиДокумента,
					СтруктураШапкиДокумента.ВидОтраженияВУчете,
					ВыборкаПоЗатратам,
					ВыборкаБаза,
					ВыборкаПоЗатратам.СтатьяЗатрат,
					ВыборкаПоЗатратам.ХарактерЗатрат,
					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
					//Индекс = Индекс + 1;
				}
				/*// Формирование движений по регистру "Незавершенное производство".
*/
				/*// Затрата 
*/
				/*// ХарактеристикаЗатраты
*/
				/*// СерияЗатраты
*/
				/*// НомерПередела
*/
				/*// Количество
*/
				/*СуммаНаВыпуск,
			ПостояннаяРазницаНаВыпуск,
			ВременнаяРазницаНаВыпуск,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейНезавершенноеПроизводство
			);*/
			}
			//;;
		}
		// РаспределитьОстатокКосвенныхРасходовНаВыпускПродукции()
		// Процедура распределения затрат на выпуск продукции.
		//
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределениеОстаткаКосвенныхРасходовВПроизводстве(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	СпособРасчета,
	СтруктураДвижений
	*/)
		{
			/*ЗапросПоЗатратам = СформироватьЗапросПоОстаткамЗатратВНезавершенномПроизводстве(
		СтруктураШапкиДокумента,
		СпособРасчета
		);*/
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()
	   И Не РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	   И Не РезультатЗапросаБазаРаспределения.Пустой()*/)
			{
				/*РаспределитьОстатокКосвенныхРасходовНаВыпускПродукции(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоЗатратам,
			РезультатЗапросаПоСпособамРаспределенияЗатрат,
			РезультатЗапросаБазаРаспределения,
			СтруктураДвижений.ДвиженияНЗП,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.Операция
		);*/
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеОстаткаКосвенныхРасходовВПроизводстве()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСА ПО РЕГИСТРУ "БРАК В ПРОИЗВОДСТВЕ"
		// Функция формирует текст запроса по регистру "Брак в производстве".
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса.
		//

		public object СформироватьТекстЗапросаПоБракуВПроизводстве(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета БракВПроизводстве.Организация,
	|	//ДляРеглУчета БракВПроизводстве.СчетУчета,
	|	БракВПроизводстве.Подразделение,
	|	БракВПроизводстве.СтатьяЗатрат,
	|	БракВПроизводстве.НоменклатурнаяГруппа,
	|	БракВПроизводстве.Заказ,
	|	БракВПроизводстве.Продукция,
	|	БракВПроизводстве.ХарактеристикаПродукции,
	|	БракВПроизводстве.СерияПродукции,
	|	
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь) КАК ЕНВД,
	|
	|	//ДляНалУчета БракВПроизводстве.ПостояннаяРазницаОстаток,
	|	//ДляНалУчета БракВПроизводстве.ВременнаяРазницаОстаток,
	|
	|	(БракВПроизводстве.СуммаОстаток
	|		- ЕСТЬNULL(Инвентаризация.Сумма, 0)
	|	) КАК СуммаОстаток
	|
	|ИЗ
	|	РегистрНакопления.БракВПроизводстве%СуффиксУчета%.Остатки(&КонГраница,
	|		Подразделение.ВидПодразделения В (&ВидыПодразделений)
	|		//ДляРеглУчета И Организация = &Организация
	|		//ДляНалУчета И СчетУчета = &СчетУчета
	|		) КАК БракВПроизводстве
	|	
	|	//ДляБухУчета	ЛЕВОЕ СОЕДИНЕНИЕ (												
	|	//ДляБухУчета		ВЫБРАТЬ
	|	//ДляБухУчета			СчетаУчетаЕНВД.Счет,
	|	//ДляБухУчета			Истина КАК ЕНВД
	|	//ДляБухУчета		ИЗ
	|	//ДляБухУчета			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
	|	//ДляБухУчета		ГДЕ
	|	//ДляБухУчета			Не СчетаУчетаЕНВД.ПодлежитРаспределению
	|	//ДляБухУчета		) КАК СчетаУчетаЕНВД
	|	//ДляБухУчета	ПО
	|	//ДляБухУчета		БракВПроизводстве.СчетУчета = СчетаУчетаЕНВД.Счет
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			//ДляУпрУчета Инвентаризация.Ссылка.Подразделение КАК Подразделение,
	|			//ДляРеглУчета Инвентаризация.Ссылка.ПодразделениеОрганизации КАК Подразделение,
	|
	|			Инвентаризация.СтатьяЗатрат,
	|			Инвентаризация.НоменклатурнаяГруппа,
	|			ВЫБОР КОГДА Инвентаризация.Заказ <> &ПустойЗаказПокупателя И
	|						Инвентаризация.Заказ <> &ПустойЗаказНаПроизводство ТОГДА
	|				Инвентаризация.Заказ
	|			ИНАЧЕ
	|				Неопределено
	|			КОНЕЦ КАК Заказ,
	|			Инвентаризация.Продукция,
	|			Инвентаризация.СерияПродукции,
	|			Инвентаризация.ХарактеристикаПродукции,
	|
	|			//ДляБухУчета Инвентаризация.СчетЗатрат КАК СчетЗатрат,
	|			//ДляНалУчета Инвентаризация.СчетЗатратНУ КАК СчетЗатрат,
	|			//ДляМеждУчета Инвентаризация.СчетЗатрат КАК СчетЗатрат,
	|
	|			//ДляУпрУчета Сумма(Инвентаризация.Сумма) КАК Сумма
	|			//ДляБухУчета Сумма(Инвентаризация.СуммаРегл) КАК Сумма
	|			//ДляНалУчета Сумма(Инвентаризация.СуммаНал) КАК Сумма
	|			//ДляМеждУчета Сумма(Инвентаризация.СуммаРегл) КАК Сумма
	|		ИЗ
	|			Документ.ИнвентаризацияБракаВПроизводстве.ЗатратыПоБракуВПроизводстве КАК Инвентаризация
	|		ГДЕ	
	|			Инвентаризация.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
	|			И НЕ Инвентаризация.Ссылка.ПометкаУдаления
	|			//ДляРеглУчета И Инвентаризация.Ссылка.Организация = &Организация
	|
	|			//ДляУпрУчета И Инвентаризация.Ссылка.ОтражатьВУправленческомУчете
	|			//ДляБухУчета И Инвентаризация.Ссылка.ОтражатьВБухгалтерскомУчете
	|			//ДляНалУчета И Инвентаризация.Ссылка.ОтражатьВНалоговомУчете
	|
	|		СГРУППИРОВАТЬ ПО
	|			//ДляУпрУчета Инвентаризация.Ссылка.Подразделение,
	|			//ДляРеглУчета Инвентаризация.Ссылка.ПодразделениеОрганизации,
	|			//ДляБухУчета Инвентаризация.СчетЗатрат,
	|			//ДляНалУчета Инвентаризация.СчетЗатратНУ,
	|			//ДляМеждУчета Инвентаризация.СчетЗатрат,
	|			Инвентаризация.СтатьяЗатрат,
	|			Инвентаризация.НоменклатурнаяГруппа,
	|			Инвентаризация.Заказ,
	|			Инвентаризация.Продукция,
	|			Инвентаризация.СерияПродукции,
	|			Инвентаризация.ХарактеристикаПродукции
	|		) КАК Инвентаризация
	|	ПО
	|		БракВПроизводстве.Подразделение = Инвентаризация.Подразделение
	|		И БракВПроизводстве.СтатьяЗатрат = Инвентаризация.СтатьяЗатрат
	|		И БракВПроизводстве.НоменклатурнаяГруппа = Инвентаризация.НоменклатурнаяГруппа
	|		И БракВПроизводстве.Заказ = Инвентаризация.Заказ
	|		И БракВПроизводстве.Продукция = Инвентаризация.Продукция
	|		И БракВПроизводстве.ХарактеристикаПродукции = Инвентаризация.ХарактеристикаПродукции
	|		И БракВПроизводстве.СерияПродукции = Инвентаризация.СерияПродукции
	|		//ДляРеглУчета И БракВПроизводстве.СчетУчета = Инвентаризация.СчетЗатрат
	|
	|УПОРЯДОЧИТЬ ПО
	|	СуммаОстаток,
	|	//ДляРеглУчета БракВПроизводстве.Организация,
	|	//ДляРеглУчета БракВПроизводстве.СчетУчета,
	|	//ДляБухУчета ЕСТЬNULL(СчетаУчетаЕНВД.ЕНВД, Ложь),
	|	БракВПроизводстве.Подразделение,
	|	БракВПроизводстве.НоменклатурнаяГруппа,
	|	БракВПроизводстве.Заказ,
	|	БракВПроизводстве.Продукция,
	|	БракВПроизводстве.ХарактеристикаПродукции,
	|	БракВПроизводстве.СерияПродукции,
	|	БракВПроизводстве.СтатьяЗатрат
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоБракуВПроизводстве()
		// Функция формирует запрос по регистру "Брак в производстве".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по регистру "Брак в производстве".
		//

		public object СформироватьЗапросПоБракуВПроизводстве(/*
	СтруктураШапкиДокумента,
	СпособРасчета
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоБракуВПроизводстве();
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("ПустойЗаказПокупателя", 		Документы.ЗаказПокупателя.ПустаяСсылка());
			//Запрос.УстановитьПараметр("ПустойЗаказНаПроизводство", 	Документы.ЗаказНаПроизводство.ПустаяСсылка());
			if(true/*СпособРасчета = Перечисления.СпособыРасчетаСебестоимостиПродукции.ПоПеределам*/)
			{
				//Запрос.УстановитьПараметр("ВидыПодразделений", СтруктураШапкиДокумента.мВидыПодразделенийДляРасчетаПоПеределам);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Налоговый.ПрямыеРасходыПоВыявленномуБраку);
			}
			return null;
		}
		// СформироватьЗапросПоБракуВПроизводстве()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ РАСХОДОВ ПО БРАКУ В ПРОИЗВОДСТВЕ
		// Процедура производит распределение расходов по браку по рассчитанной базе распределения.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат выполнения запроса по затратам
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат выполнения запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	ВсегоПеределов - Число - Общее количество переделов
		//	НаборЗаписейНезавершенноеПроизводство - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Незавершенное производство"
		//	НаборЗаписейБракВПроизводстве - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Брак в производстве"
		//	НаборЗаписейЗатратыНаВыпускПродукции - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты на выпуск"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьРасходыПоБракуВПроизводствеПоБазеРаспределения(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	НомерПередела,
	ВсегоПеределов,
	НаборЗаписейНезавершенноеПроизводство,
	НаборЗаписейБракВПроизводстве,
	НаборЗаписейЗатратыНаВыпуск,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			/*// Получим построитель запроса по базе распределения.
*/
			/*ПостроительЗапроса = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределения
		);*/
			/*ПостроительЗапросаНаПродукцию = ПолучитьПостроительЗапросаПоБазеРаспределения(
		СтруктураШапкиДокумента,
		РезультатЗапросаБазаРаспределенияНаПродукцию
		);*/
			//ВыборкаПоСпособамРаспределенияЗатрат = РезультатЗапросаПоСпособамРаспределенияЗатрат.Выбрать();
			//МассивКоэф = Новый Массив;
			//МассивКоэфНУ = Новый Массив;
			//ХарактерЗатрат = Перечисления.ХарактерЗатрат.БракВПроизводстве;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				/*// Пропускаем строки с пустой суммой.
*/
				if(true/*СуммаОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				/*// Определим способ и характер распределения затрат.
*/
				//СпособРаспределения = Неопределено;
				//ХарактерРаспределенияЗатрат = Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка();
				//РаспределятьНаПодчиненныеПодразделения = Ложь;
				/*// ОпределятьПоХарактеруЗатрат
*/
				/*// ПроверятьУказаниеСпособаРаспределения
*/
				/*СпособРаспределения,
			ХарактерРаспределенияЗатрат,
			РаспределятьНаПодчиненныеПодразделения
			);*/
				if(true/*Не РаспределятьЗатраты*/)
				{
				}
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					//ЕНВД = ВыборкаПоЗатратам.ЕНВД;
				}
				/*// Отберем строки базы распределения.
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапроса
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапроса.Выполнить();
				}
				//РезультатЗапросаБаза = ПостроительЗапроса.Результат;
				/*// Отберем строки базы распределения на продукцию.
*/
				/*// ОпределятьПоЕНВД
*/
				/*// ОпределятьПоСчетуУчету
*/
				/*// ОтборПоПродукции
*/
				/*ПостроительЗапросаНаПродукцию
			);*/
				if(true/*УстановленНовыйОтбор*/)
				{
					//ПостроительЗапросаНаПродукцию.Выполнить();
				}
				//РезультатЗапросаБазаНаПродукцию = ПостроительЗапросаНаПродукцию.Результат;
				//ВыборкаБазаНаПродукцию = РезультатЗапросаБазаНаПродукцию.Выбрать();
				//ВсегоБазаРаспределения = 0;
				//МассивКоэф.Очистить();
				//МассивКоэфНУ.Очистить();
				if(true/*ЗначениеЗаполнено(ВыборкаПоЗатратам.Продукция)*/)
				{
					//ВыборкаБаза = РезультатЗапросаБазаНаПродукцию.Выбрать();
					//УчитыватьБазуНаПодчиненные = Ложь;
				}
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					//МассивКоэф.Добавить(ВыборкаБаза.БазаПриход * ?(УчитыватьБазуНаПодчиненные, ВыборкаБаза.БазаНаПодчиненные, 1));
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//МассивКоэфНУ.Добавить(ВыборкаБаза.БазаПриходНУ * ?(УчитыватьБазуНаПодчиненные, ВыборкаБаза.БазаНаПодчиненныеНУ, 1));
					}
					//ВсегоБазаРаспределения = ВсегоБазаРаспределения + (ВыборкаБаза.БазаПриход * ?(УчитыватьБазуНаПодчиненные, ВыборкаБаза.БазаНаПодчиненные, 1));
				}
				if(true/*ВсегоБазаРаспределения = 0*/)
				{
					if(true/*НомерПередела = ВсегоПеределов*/)
					{
						/*ОбщегоНазначения.Сообщение("Сумма базы коэф. по " + СпособРаспределения + " равна 0, для:
						|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
						|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
						|Заказ: " + ВыборкаПоЗатратам.Заказ + "
						|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа + "
						|Продукция: " + ВыборкаПоЗатратам.Продукция + ", " + ВыборкаПоЗатратам.ХарактеристикаПродукции + ", " + ВыборкаПоЗатратам.СерияПродукции + "
						|", СтатусСообщения.Важное);*/
					}
				}
				//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
					//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
					//МассивСуммаНУ           = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэфНУ, 2);
				}
				//Индекс = 0;
				//ВыборкаБаза.Сбросить();
				while(true/*ВыборкаБаза.Следующий()*/)
				{
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//СуммаНУ           = ?(МассивСуммаНУ = Неопределено, 0, МассивСуммаНУ[Индекс]);
						//СуммаБУ           = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
						//ВременнаяРазница  = ВременнаяРазница + СуммаБУ - СуммаНУ;
						//Сумма             = СуммаНУ;
					}
					if(true/*Сумма <> 0
			 ИЛИ ПостояннаяРазница <> 0 
			 ИЛИ ВременнаяРазница <> 0*/)
					{
						/*// Формирование приходных движений по регистру "Незавершенное производство".
*/
						/*// Затрата 
*/
						/*// ХарактеристикаЗатраты
*/
						/*// СерияЗатраты
*/
						/*НомерПередела,
					0,

					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					ВидДвиженияНакопления.Приход,
					НаборЗаписейНезавершенноеПроизводство
					);*/
						/*// Формирование движений по регистру бухгалтерии.	
*/
						if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
						{
							/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеЗатрат(
						СтруктураШапкиДокумента,
						СтруктураШапкиДокумента.ВидОтраженияВУчете,
						ВыборкаПоЗатратам,
						ВыборкаБаза,
						ВыборкаПоЗатратам.СтатьяЗатрат,
						ХарактерЗатрат,
						Сумма,
						ПостояннаяРазница,
						ВременнаяРазница,
						РегистрБухгалтерииНаборЗаписей
						);*/
						}
						/*// Распределение затрат на выпуск продукции по базе.
*/
						/*//СтатусМатериальныхЗатрат
*/
						/*НомерПередела,
					Сумма,
					ПостояннаяРазница,
					ВременнаяРазница,
					НаборЗаписейНезавершенноеПроизводство,
					НаборЗаписейЗатратыНаВыпуск,
					РегистрБухгалтерииНаборЗаписей
					);*/
					}
					//Индекс = Индекс + 1;
				}
				/*// Формирование движений по регистру "Брак в производстве".
*/
				/*СформироватьДвиженияПоРегиструБракВПроизводствеРаспределениеЗатрат(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			СуммаОстаток,
			ПостояннаяРазницаОстаток,
			ВременнаяРазницаОстаток,
			ВидДвиженияНакопления.Расход,
			НаборЗаписейБракВПроизводстве
			);*/
			}
			//;;
		}
		// РаспределитьРасходыПоБракуВПроизводствеПоБазеРаспределения()
		// Процедура распределения расходов по браку в производстве.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  РезультатЗапросаПоСпособамРаспределенияЗатрат - РезультатЗапроса - Результат запроса по способам распределения затрат
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	РезультатЗапросаБазаРаспределенияНаПродукцию - РезультатЗапроса - Результат запроса по базе распределения на продукцию
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//	НомерПередела - Число - Текущий номер передела, для которого производится расчет себестоимости
		//	ВсегоПеределов - Число - Общее количество переделов
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределениеРасходовПоБракуВПроизводстве(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоСпособамРаспределенияЗатрат,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаБазаРаспределенияНаПродукцию,
	СпособРасчета,
	НомерПередела,
	ВсегоПеределов,
	СтруктураДвижений
	*/)
		{
			//ЗапросПоЗатратам = СформироватьЗапросПоБракуВПроизводстве(СтруктураШапкиДокумента, СпособРасчета);
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*Не РезультатЗапросаПоЗатратам.Пустой()
	   И Не РезультатЗапросаПоСпособамРаспределенияЗатрат.Пустой()
	   И Не РезультатЗапросаБазаРаспределения.Пустой()*/)
			{
				/*РаспределитьРасходыПоБракуВПроизводствеПоБазеРаспределения(
			СтруктураШапкиДокумента,
			РезультатЗапросаПоЗатратам,
			РезультатЗапросаПоСпособамРаспределенияЗатрат,
			РезультатЗапросаБазаРаспределения,
			РезультатЗапросаБазаРаспределенияНаПродукцию,
			НомерПередела,
			ВсегоПеределов,
			СтруктураДвижений.ДвиженияНЗП,
			СтруктураДвижений.ДвиженияБракВПроизводстве,
			СтруктураДвижений.ДвиженияЗатратыНаВыпуск,
			СтруктураДвижений.Операция
			);*/
			}
			if(true/*СтруктураДвижений.ДвиженияБракВПроизводстве.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияБракВПроизводстве.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияНЗП.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияНЗП.Записать(Ложь);
			}
			if(true/*СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыНаВыпуск.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеРасходовПоБракуВПроизводстве()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСПРЕДЕЛЕНИЯ РАСХОДОВ ПО СПОСОБУ РАСПРЕДЕЛЕНИЯ
		// Процедура производит распределение общепроизводственных, общехозяйственных расходов и расходов по браку в производстве.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтруктураТаблицДвижений - Структура - Структура таблиц регистров
		//	ДиректКостинг - Булево - Признак применения метода "Директ - костинг"
		//  СпособРасчета - Перечисления.СпособыРасчетаСебестоимостиПродукции - Текущий способ расчета себестоимости
		//

		public void РаспределениеКосвенныхРасходов(/*
	СтруктураШапкиДокумента, 
	СтруктураТаблицДвижений, 
	ДиректКостинг, 
	СпособРасчета
	*/)
		{
			//ДополнитьСтруктуруШапкиДокумента(СтруктураШапкиДокумента);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.НУ;
			}
			//НачальныйПередел = 0;
			//КонечныйПередел = 0;
			//ВсегоПеределов = 0;
			//МинимальныйПередел = 0;
			/*ПолучитьНачальныйИКонечныйНомерПередела(
		СтруктураШапкиДокумента,
		СпособРасчета,
		НачальныйПередел,
		КонечныйПередел,
		ВсегоПеределов,
		МинимальныйПередел
		);*/
			/*// Формирование запроса по незавершенному производству.
*/
			/*ЗапросПоНезавершенномуПроизводству = СформироватьЗапросПоНезавершенномуПроизводству(
		СтруктураШапкиДокумента,
		СпособРасчета
		);*/
			/*// Формирование запроса по затратам на выпуск.
*/
			/*ЗапросПоЗатратамНаВыпуск = СформироватьЗапросПоЗатратамНаВыпуск(
		СтруктураШапкиДокумента,
		СпособРасчета
		);*/
			/*// Формирование запроса по выпуску продукции и затратам на выпуск.		
*/
			/*// КосвенныеЗатраты
*/
			/*// ЗатратыВстречногоВыпуска
*/
			//);
			/*// Формирование запроса по направлением выпуска продукции.
*/
			/*// КосвенныеЗатраты
*/
			/*// ЗатратыВстречногоВыпуска
*/
			//);
			/*// КосвенныеЗатраты
*/
			/*// ЗатратыВстречногоВыпуска
*/
			//);
			/*// Формирование запроса по коэффициентам распределения по проектам.
*/
			/*ЗапросРаспределениеПоПроектам = СформироватьЗапросРаспределениеПоПроектам(
		СтруктураШапкиДокумента
		);*/
			//РезультатЗапросаРаспределениеПоПроектам = ЗапросРаспределениеПоПроектам.Выполнить();
			//МассивХарактеровРаспределения = Новый Массив;
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			/*// Сформируем запрос по способам распределения статей затрат.	
*/
			/*// ФормироватьВременнуюТаблицу
*/
			/*СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//РезультатЗапросаПоСпособамРаспределенияЗатрат = ЗапросПоСпособамРаспределенияЗатрат.Выполнить();
			/*// Сформируем запрос по базе распределения затрат.
*/
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазаРаспределенияЗатрат();
			//ЗапросБазаРаспределения = СформироватьЗапросПоБазеРаспределенияЗатрат(СтруктураШапкиДокумента, ТекстЗапросаСКомментариями, Истина);
			//РезультатЗапросаБазаРаспределения = ЗапросБазаРаспределения.Выполнить();
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазаРаспределенияЗатратНаПродукцию();
			//ЗапросБазаРаспределенияНаПродукцию = СформироватьЗапросПоБазеРаспределенияЗатрат(СтруктураШапкиДокумента, ТекстЗапросаСКомментариями, Истина);
			//РезультатЗапросаБазаРаспределенияНаПродукцию = ЗапросБазаРаспределенияНаПродукцию.Выполнить();
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента);
			/*// Распределение остатка расходов из незавершенного производства на выпуск продукции.
*/
			/*РаспределениеОстаткаКосвенныхРасходовВПроизводстве(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоСпособамРаспределенияЗатрат,
		РезультатЗапросаБазаРаспределенияНаПродукцию,
		СпособРасчета,
		СтруктураДвижений
		);*/
		}
		// РаспределениеКосвенныхРасходов()
		// Процедура производит распределение расходов по базе распределения по продажам.
		//
		// Параметры
		//	СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВыборкаПоЗатратам - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ВыборкаБазаРаспределения - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса по базе распределения
		//	МассивКоэф - Массив - Массив коэффициентов распределения
		//	СчетСписания - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	ЕНВД - Булево - Признак распределения по деятельности, облагаемой ЕНВД
		//	СуммаОстаток - Число - Сумма затрат
		//  ПостояннаяРазницаОстаток - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазницаОстаток - Число - Сумма затрат в части временной разницы
		//	НаборЗаписейЗатраты - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Затраты"
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void РаспределитьЗатратыПоБазеРаспределенияПоПродажам(/*
	СтруктураШапкиДокумента,
	ВыборкаПоЗатратам,
	ВыборкаБазаРаспределения,
	МассивКоэф,
	СчетСписания,
	ХарактерЗатрат,
	ЕНВД,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток,
	НаборЗаписейЗатраты,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*СуммаОстаток = 0
	   И ПостояннаяРазницаОстаток = 0
	   И ВременнаяРазницаОстаток = 0*/)
			{
			}
			//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэф, 2);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ОбщаяСумма = СуммаОстаток + ПостояннаяРазницаОстаток + ВременнаяРазницаОстаток;
				//МассивОбщаяСумма        = ОбщегоНазначения.РаспределитьПропорционально(ОбщаяСумма, МассивКоэф, 2);
				//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэф, 2);
				//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэф, 2);
			}
			//Индекс = 0;
			//СуммаВсего = 0;
			//ПостояннаяРазницаВсего = 0;
			//ВременнаяРазницаВсего = 0;
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("ЕНВД", ЕНВД);
			if(true/*Не ВыборкаПоЗатратам.НоменклатурнаяГруппа.Пустая()*/)
			{
				//СтруктураПоиска.Вставить("НоменклатурнаяГруппа", ВыборкаПоЗатратам.НоменклатурнаяГруппа);
			}
			//ВыборкаБазаРаспределения.Сбросить();
			while(true/*ВыборкаБазаРаспределения.НайтиСледующий(СтруктураПоиска)*/)
			{
				if(true/*ВыборкаПоЗатратам.НоменклатурнаяГруппа.Пустая()*/)
				{
					//Сумма = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
					if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
					{
						//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
						//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
						//ОбщаяСумма        = ?(МассивОбщаяСумма = Неопределено, 0, МассивОбщаяСумма[Индекс]);
						/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
						if(true/*Сумма + ПостояннаяРазница + ВременнаяРазница <> ОбщаяСумма*/)
						{
							if(true/*ВременнаяРазница <> 0*/)
							{
								//ВременнаяРазница = ОбщаяСумма - (Сумма + ПостояннаяРазница);
							}
						}
					}
				}
				//СуммаВсего = СуммаВсего + Сумма;
				//ПостояннаяРазницаВсего = ПостояннаяРазницаВсего + ПостояннаяРазница;
				//ВременнаяРазницаВсего = ВременнаяРазницаВсего + ВременнаяРазница;
				/*СформироватьДвиженияПоРегиструБухгалтерииРаспределениеПоПродажам(
			СтруктураШапкиДокумента,
			СтруктураШапкиДокумента.ВидОтраженияВУчете,
			ВыборкаПоЗатратам,
			СчетСписания,
			ВыборкаБазаРаспределения.НоменклатурнаяГруппа,
			ХарактерЗатрат,
			Сумма,
			ПостояннаяРазница,
			ВременнаяРазница,
			РегистрБухгалтерииНаборЗаписей
		);*/
				if(true/*ВыборкаПоЗатратам.НоменклатурнаяГруппа.Пустая()*/)
				{
					//Индекс = Индекс + 1;
				}
			}
			/*// Формирование движений по регистру "Затраты".
*/
			/*СформироватьДвиженияПоРегиструЗатратыРаспределениеЗатрат(
		СтруктураШапкиДокумента,
		ВыборкаПоЗатратам,
		ХарактерЗатрат,
		СуммаВсего,
		ПостояннаяРазницаВсего,
		ВременнаяРазницаВсего,
		ВидДвиженияНакопления.Расход,
		НаборЗаписейЗатраты
	);*/
			if(true/*СуммаВсего <> СуммаОстаток*/)
			{
				/*ОбщегоНазначения.Сообщение("Не удалось распределить затраты:
			|Счет учета: " + ВыборкаПоЗатратам.СчетУчета + "
			|Подразделение: " + ВыборкаПоЗатратам.Подразделение + "
			|Статья затрат: " + ВыборкаПоЗатратам.СтатьяЗатрат + "
			|Заказ: " + ВыборкаПоЗатратам.Заказ + "
			|Номенклатурная группа: " + ВыборкаПоЗатратам.НоменклатурнаяГруппа + " 
			|Сумма: " + (СуммаОстаток - СуммаВсего) + "
			|", СтатусСообщения.Важное);*/
			}
		}
		// РаспределитьЗатратыПоБазеРаспределенияПоПродажам()
		// Процедура производит распределение расходов по видам деятельности (ЕНВД и не ЕНВД).
		//	Используется только для регламентированного учета.
		//
		// Параметры:
		//	СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ВыборкаПоЗатратам - ВыборкаИзРезультатаЗапроса - Текущая строка выборки из результата запроса по затратам
		//	ВыборкаБазаРаспределения - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса по базе распределения
		//	КоэффициентЕНВД - Число - Коэффициент распределения между видами деятельности (ЕНВД и не ЕНВД)
		//	МассивКоэфНеЕНВД - Массив - Массив коэффициентов распределения по виду деятельсноти, не облагаемому ЕНВД
		//	МассивКоэфЕНВД - Массив - Массив коэффициентов распределения по виду деятельности, облагаемому ЕНВД
		//	СчетСписания - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат
		//	СчетСписанияЕНВД - ПланСчетовСсылка.Хозрасчетный или ПланСчетовСсылка.Налоговый - Счет списания затрат (ЕНВД)
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//	СуммаОстаток - Число - Сумма затрат
		//  ПостояннаяРазницаОстаток - Число - Сумма затрат в части постоянной разницы
		//  ВременнаяРазницаОстаток - Число - Сумма затрат в части временной разницы
		//	СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределитьРасходыПоВидамДеятельности(/*
	СтруктураШапкиДокумента,
	ВыборкаПоЗатратам,
	ВыборкаБазаРаспределения,
	КоэффициентЕНВД,
	МассивКоэфНеЕНВД,
	МассивКоэфЕНВД,
	СчетСписания,
	СчетСписанияЕНВД,
	ХарактерЗатрат,
	СуммаОстаток,
	ПостояннаяРазницаОстаток,
	ВременнаяРазницаОстаток,
	СтруктураДвижений
	*/)
		{
			if(true/*ВыборкаПоЗатратам.ПодлежитРаспределению*/)
			{
				//СуммаОстатокЕНВД = Окр(СуммаОстаток * КоэффициентЕНВД, 2, 1);
				//СуммаОстатокНеЕНВД = СуммаОстаток - СуммаОстатокЕНВД;
				//ПостояннаяРазницаЕНВД = Окр(ПостояннаяРазницаОстаток * КоэффициентЕНВД, 2, 1);
				//ПостояннаяРазницаНеЕНВД = ПостояннаяРазницаОстаток - ПостояннаяРазницаЕНВД;
				//ВременнаяРазницаЕНВД = Окр(ВременнаяРазницаОстаток * КоэффициентЕНВД, 2, 1);
				//ВременнаяРазницаНеЕНВД = ВременнаяРазницаОстаток - ВременнаяРазницаЕНВД;
			}
			/*// Распределение расходов по продажам, не облагаемым ЕНВД.
*/
			/*// ЕНВД
*/
			/*СуммаОстатокНеЕНВД,
		ПостояннаяРазницаНеЕНВД,
		ВременнаяРазницаНеЕНВД,
		СтруктураДвижений.ДвиженияЗатраты,
		СтруктураДвижений.Операция
	);*/
			/*// Распределение расходов по продажам, облагаемым ЕНВД.
*/
			/*// ЕНВД
*/
			/*СуммаОстатокЕНВД,
		ПостояннаяРазницаЕНВД,
		ВременнаяРазницаЕНВД,
		СтруктураДвижений.ДвиженияЗатраты,
		СтруктураДвижений.Операция
	);*/
		}
		// РаспределитьРасходыПоВидамДеятельности()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ БАЗЫ РАСПРЕДЕЛЕНИЯ ПО ПРОДАЖАМ
		// Функция формирует запрос по базе распределения по продажам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по базе распределения
		//

		public object СформироватьЗапросБазаРаспределенияПоПродажам(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат
	*/)
		{
			//Запрос = Новый Запрос;
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	ВЫБОР КОГДА СчетаУчетаЕНВД.ЕНВД ТОГДА 
		|		ИСТИНА 
		|	ИНАЧЕ 
		|		ЛОЖЬ 
		|	КОНЕЦ КАК ЕНВД,
		|	ХозрасчетныйОбороты.Субконто1 КАК НоменклатурнаяГруппа,
		|	СУММА(-(ХозрасчетныйОбороты.СуммаОборот)) КАК База
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.Обороты(&НачГраница, &КонГраница, Период, 
		|		Счет В ИЕРАРХИИ (&МассивСчетовБазы), , 
		|		Организация = &Организация
		|	) КАК ХозрасчетныйОбороты
		|	
		|	ЛЕВОЕ СОЕДИНЕНИЕ (
		|		ВЫБРАТЬ
		|			СчетаУчетаЕНВД.Счет,
		|			Истина КАК ЕНВД
		|		ИЗ
		|			РегистрСведений.СчетаУчетаПоДеятельностиЕНВД КАК СчетаУчетаЕНВД
		|		ГДЕ
		|			Не СчетаУчетаЕНВД.ПодлежитРаспределению
		|		) КАК СчетаУчетаЕНВД
		|	ПО
		|		ХозрасчетныйОбороты.Счет = СчетаУчетаЕНВД.Счет
		|
		|СГРУППИРОВАТЬ ПО
		|	ВЫБОР КОГДА СчетаУчетаЕНВД.ЕНВД ТОГДА 
		|		ИСТИНА 
		|	ИНАЧЕ 
		|		ЛОЖЬ 
		|	КОНЕЦ,
		|	ХозрасчетныйОбороты.Субконто1
		|
		|УПОРЯДОЧИТЬ ПО
		|	ЕНВД,
		|	НоменклатурнаяГруппа
		|";*/
				//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
				//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
				//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
				/*//Массив счетов, по которым формируется база распределения расходов
*/
				//МассивСчетовБазы = Новый Массив;
				//ДиректКостингБазаРаспределения = СтруктураШапкиДокумента.УчетнаяПолитика.ДиректКостингБазаРаспределения;
				if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ОбщехозяйственныеРасходы
		   И ДиректКостингБазаРаспределения = Перечисления.ДиректКостингБазаРаспределения.Себестоимость*/)
				{
					//МассивСчетовБазы.Добавить(ПланыСчетов.Хозрасчетный.СебестоимостьПродаж);
				}
				//Запрос.УстановитьПараметр("МассивСчетовБазы", МассивСчетовБазы);
			}
			//Запрос.Текст = ТекстЗапроса;
			return null;
		}
		// СформироватьЗапросБазаРаспределенияПоПродажам()
		// Функция формирует массив коэффициентов распределения затрат по продажам.
		//
		// Параметры
		//	ВыборкаБазаРаспределения - ВыборкаИзРезультатаЗапроса - Выборка из результата запроса по базе распределения по продажам.
		//	ЕНВД - Булево - Признак распределения по деятельности, облагаемой ЕНВД
		//
		// Возвращаемое значение:
		//	Массив – Массив коэффициентов
		//

		public object ПолучитьМассивКоэффициентовРаспределенияПоПродажам(/*
	ВыборкаБазаРаспределения,
	ЕНВД
	*/)
		{
			//МассивКоэф = Новый Массив;
			//СтруктураПоиска = Новый Структура;
			//СтруктураПоиска.Вставить("ЕНВД", ЕНВД);
			//ВыборкаБазаРаспределения.Сбросить();
			while(true/*ВыборкаБазаРаспределения.НайтиСледующий(СтруктураПоиска)*/)
			{
				//МассивКоэф.Добавить(ВыборкаБазаРаспределения.База);
			}
			return null;
		}
		// ПолучитьМассивКоэффициентовРаспределенияПоПродажам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА РАСПРЕДЕЛЕНИЯ РАСХОДОВ ПО ПРОДАЖАМ
		// Процедура распределения расходов по продажам.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат запроса по затратам
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	РезультатЗапросаРаспределениеПоПроектам - РезультатЗапроса - Результат запроса по распределению по проектам
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределитьРасходыПоПродажам(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаБазаРаспределения,
	РезультатЗапросаРаспределениеПоПроектам,
	ХарактерЗатрат,
	СтруктураДвижений
	*/)
		{
			//ВыборкаБазаРаспределения = РезультатЗапросаБазаРаспределения.Выбрать();
			//ВыборкаРаспределениеПоПроектам = РезультатЗапросаРаспределениеПоПроектам.Выбрать();
			/*// Получим коэффициент распределения на ЕНВД.
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				/*КоэффициентЕНВД = НалоговыйУчет.КоэффициентРаспределенияРасходовПоВидамДеятельности(
			СтруктураШапкиДокумента.Организация, 
			СтруктураШапкиДокумента.мКонДата, 
			СтруктураШапкиДокумента.мНачДата
		);*/
				/*// ЕНВД
*/
				//);
				/*// ЕНВД
*/
				//);
			}
			/*// Получим счета списания затрат.
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				/*// ЕНВД
*/
				//);
				/*// ЕНВД
*/
				//);
			}
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//СуммаОстаток = ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазницаОстаток = ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВременнаяРазницаОстаток = ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
				}
				/*// Пропускаем строки с пустой суммой.
*/
				if(true/*СуммаОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				/*// Распределим затраты по видам деятельности.
*/
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
		 ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					/*РаспределитьРасходыПоВидамДеятельности(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ВыборкаБазаРаспределения,
				КоэффициентЕНВД,
				МассивКоэфНеЕНВД,
				МассивКоэфЕНВД,
				СчетСписания,
				СчетСписанияЕНВД,
				ХарактерЗатрат,
				СуммаОстаток,
				ПостояннаяРазницаОстаток,
				ВременнаяРазницаОстаток,
				СтруктураДвижений
			);*/
				}
				/*// Формирование движений по регистру "Затраты (обороты)".
*/
				if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
				{
					/*РаспределитьСписанныеЗатратыПоПроектам(
				СтруктураШапкиДокумента,
				ВыборкаПоЗатратам,
				ВыборкаРаспределениеПоПроектам,
				СуммаОстаток,
				СтруктураДвижений.ДвиженияЗатратыОбороты
			);*/
				}
			}
			//;;
		}
		// РаспределитьРасходыПоПродажам()
		// Процедура списания издержек обращения и коммерческих расходов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//

		public void РаспределениеРасходовПоПродажам(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат
	*/)
		{
			/*РаспределятьТранспортныеРасходы = ПолучитьПризнакРаспределенияТранспортныхРасходов(
		СтруктураШапкиДокумента,
		ХарактерЗатрат
	);*/
			/*// Распределение транспортных расходов производится в отдельной процедуре.
*/
			if(true/*РаспределятьТранспортныеРасходы*/)
			{
				/*РаспределениеТранспортныхРасходов(
			СтруктураШапкиДокумента,
			ХарактерЗатрат
		);*/
			}
			/*// Исключаем из запроса остатки затрат, относящиеся к транспортным расходам.
*/
			if(true/*РаспределятьТранспортныеРасходы*/)
			{
				//ВидРасходовНУ = Перечисления.ВидыРасходовНУ.ТранспортныеРасходы;
				//УсловиеВидРасходовНУ = ВидСравнения.НеРавно;
			}
			/*// Формирование запроса по затратам.
*/
			/*ЗапросПоЗатратам = СформироватьЗапросПоЗатратам(
		СтруктураШапкиДокумента, 
		ХарактерЗатрат,
		ВидРасходовНУ,
		УсловиеВидРасходовНУ
		);*/
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*РезультатЗапросаПоЗатратам.Пустой()*/)
			{
			}
			/*// Формирование запроса по базе распределения.
*/
			/*ЗапросБазаРаспределения = СформироватьЗапросБазаРаспределенияПоПродажам(
		СтруктураШапкиДокумента,
		ХарактерЗатрат
	);*/
			//РезультатЗапросаБазаРаспределения = ЗапросБазаРаспределения.Выполнить();
			/*// Формирование запроса по коэффициентам распределения по проектам.
*/
			/*ЗапросРаспределениеПоПроектам = СформироватьЗапросРаспределениеПоПроектам(
		СтруктураШапкиДокумента
		);*/
			//РезультатЗапросаРаспределениеПоПроектам = ЗапросРаспределениеПоПроектам.Выполнить();
			/*СтруктураИмен = Новый Структура("
		|Затраты, 
		|ЗатратыОбороты,
		|Операция
		|");*/
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			/*// Распределим расходы по продажам.
*/
			/*РаспределитьРасходыПоПродажам(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоЗатратам,
		РезультатЗапросаБазаРаспределения,
		РезультатЗапросаРаспределениеПоПроектам,
		ХарактерЗатрат,
		СтруктураДвижений
	);*/
			if(true/*СтруктураДвижений.ДвиженияЗатраты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.ДвиженияЗатратыОбороты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатратыОбороты.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеРасходовПоПродажам()
		// Процедура распределения транспортных расходов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	РезультатЗапросаПоЗатратам - РезультатЗапроса - Результат запроса по затратам
		//	РезультатЗапросаБазаРаспределения - РезультатЗапроса - Результат запроса по базе распределения
		//	РезультатЗапросаРаспределениеПоПроектам - РезультатЗапроса - Результат запроса по распределению по проектам
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//  СтруктураДвижений - Структура - Наборы движений по регистрам.
		//

		public void РаспределитьТранспортныеРасходы(/*
	СтруктураШапкиДокумента,
	РезультатЗапросаПоЗатратам,
	РезультатЗапросаБазаРаспределения,
	ХарактерЗатрат,
	СтруктураДвижений
	*/)
		{
			//ВыборкаБазаРаспределения = РезультатЗапросаБазаРаспределения.Выбрать();
			/*// Получим коэффициент распределения на ЕНВД.
*/
			/*КоэффициентЕНВД = НалоговыйУчет.КоэффициентРаспределенияРасходовПоВидамДеятельности(
		СтруктураШапкиДокумента.Организация, 
		СтруктураШапкиДокумента.мКонДата, 
		СтруктураШапкиДокумента.мНачДата
	);*/
			/*// ЕНВД
*/
			//);
			/*// ЕНВД
*/
			//);
			/*// Получим счета списания затрат.
*/
			/*// ЕНВД
*/
			//);
			/*// ЕНВД
*/
			//);
			/*КоэффициентСписанияТранспортныхРасходов = ПолучитьКоэффициентСписанияТранспортныхРасходов(
		СтруктураШапкиДокумента
	);*/
			//МассивКоэфСумма = Новый Массив;
			//МассивКоэфПостояннаяРазница = Новый Массив;
			//МассивКоэфВременнаяРазница = Новый Массив;
			//МассивКоэфОбщаяСумма = Новый Массив;
			//ВсегоСумма = 0;
			//ВсегоПостояннаяРазница = 0;
			//ВсегоВременнаяРазница = 0;
			//ВыборкаПоЗатратам = РезультатЗапросаПоЗатратам.Выбрать();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//МассивКоэфСумма.Добавить(ВыборкаПоЗатратам.СуммаОстаток);
				//ВсегоСумма = ВсегоСумма + ВыборкаПоЗатратам.СуммаОстаток;
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ВсегоПостояннаяРазница = ВсегоПостояннаяРазница + ВыборкаПоЗатратам.ПостояннаяРазницаОстаток;
					//ВсегоВременнаяРазница = ВсегоВременнаяРазница + ВыборкаПоЗатратам.ВременнаяРазницаОстаток;
					//МассивКоэфПостояннаяРазница.Добавить(ВыборкаПоЗатратам.ПостояннаяРазницаОстаток);
					//МассивКоэфВременнаяРазница.Добавить(ВыборкаПоЗатратам.ВременнаяРазницаОстаток);
					/*МассивКоэфОбщаяСумма.Добавить(ВыборкаПоЗатратам.СуммаОстаток +
				ВыборкаПоЗатратам.ПостояннаяРазницаОстаток +
				ВыборкаПоЗатратам.ВременнаяРазницаОстаток);*/
				}
			}
			/*;
	
	СуммаОстаток = ВсегоСумма - Окр(ВсегоСумма * КоэффициентСписанияТранспортныхРасходов, 2, 1);*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ВсегоОбщаяСумма = ВсегоСумма + ВсегоПостояннаяРазница + ВсегоВременнаяРазница;
				//ОбщаяСуммаОстаток = ВсегоОбщаяСумма - Окр(ВсегоОбщаяСумма * КоэффициентСписанияТранспортныхРасходов, 2, 1);
				//ПостояннаяРазницаОстаток = ВсегоПостояннаяРазница - Окр(ВсегоПостояннаяРазница * КоэффициентСписанияТранспортныхРасходов, 2, 1);
				//ВременнаяРазницаОстаток = ВсегоВременнаяРазница - Окр(ВсегоВременнаяРазница * КоэффициентСписанияТранспортныхРасходов, 2, 1);
				/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
				if(true/*СуммаОстаток + ПостояннаяРазницаОстаток + ВременнаяРазницаОстаток <> ОбщаяСуммаОстаток*/)
				{
					if(true/*ВременнаяРазницаОстаток <> 0*/)
					{
						//ВременнаяРазницаОстаток = ОбщаяСуммаОстаток - (СуммаОстаток + ПостояннаяРазницаОстаток);
					}
				}
			}
			//МассивСумма = ОбщегоНазначения.РаспределитьПропорционально(СуммаОстаток, МассивКоэфСумма, 2);
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//МассивОбщаяСумма        = ОбщегоНазначения.РаспределитьПропорционально(ОбщаяСуммаОстаток, МассивКоэфОбщаяСумма, 2);
				//МассивПостояннаяРазница = ОбщегоНазначения.РаспределитьПропорционально(ПостояннаяРазницаОстаток, МассивКоэфПостояннаяРазница, 2);
				//МассивВременнаяРазница  = ОбщегоНазначения.РаспределитьПропорционально(ВременнаяРазницаОстаток, МассивКоэфВременнаяРазница, 2);
			}
			//Индекс = 0;
			//ВыборкаПоЗатратам.Сбросить();
			while(true/*ВыборкаПоЗатратам.Следующий()*/)
			{
				//Сумма = ?(МассивСумма = Неопределено, 0, МассивСумма[Индекс]);
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					//ПостояннаяРазница = ?(МассивПостояннаяРазница = Неопределено, 0, МассивПостояннаяРазница[Индекс]);
					//ВременнаяРазница  = ?(МассивВременнаяРазница = Неопределено, 0, МассивВременнаяРазница[Индекс]);
					//ОбщаяСумма        = ?(МассивОбщаяСумма = Неопределено, 0, МассивОбщаяСумма[Индекс]);
					/*// Скорректируем сумму затрат по временной или постоянной разнице для исключения ошибок округления.
*/
					if(true/*Сумма + ПостояннаяРазница + ВременнаяРазница <> ОбщаяСумма*/)
					{
						if(true/*ВременнаяРазница <> 0*/)
						{
							//ВременнаяРазница = ОбщаяСумма - (Сумма + ПостояннаяРазница);
						}
					}
				}
				/*РаспределитьРасходыПоВидамДеятельности(
			СтруктураШапкиДокумента,
			ВыборкаПоЗатратам,
			ВыборкаБазаРаспределения,
			КоэффициентЕНВД,
			МассивКоэфНеЕНВД,
			МассивКоэфЕНВД,
			СчетСписания,
			СчетСписанияЕНВД,
			ХарактерЗатрат,
			Сумма,
			ПостояннаяРазница,
			ВременнаяРазница,
			СтруктураДвижений
		);*/
				//Индекс = Индекс + 1;
			}
			//;;
		}
		// РаспределитьТранспортныеРасходы()
		// Функция получает признак необходимости распределения транспортных расходов.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//
		// Возвращаемое значение:
		//	Булево - признак необходимости распределения транспортных расходов
		//

		public object ПолучитьПризнакРаспределенияТранспортныхРасходов(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат
	*/)
		{
			//РаспределятьТранспортныеРасходы = Ложь;
			/*// Транспортные расходы распределяем только в регламентированном учете
*/
			/*// и только для издержек обращения.
*/
			if(true/*(ХарактерЗатрат = Перечисления.ХарактерЗатрат.ИздержкиОбращения
			ИЛИ ХарактерЗатрат = Перечисления.ХарактерЗатрат.КоммерческиеРасходы)
	   И (СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
			ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчете)*/)
			{
				//РаспределятьТранспортныеРасходы = Истина;
			}
			return null;
		}
		// ПолучитьПризнакРаспределенияТранспортныхРасходов()
		// Процедура распределения транспортных расходов.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	ХарактерЗатрат - ПеречислениеСсылка.ХарактерЗатрат - Текущий характер затрат
		//

		public void РаспределениеТранспортныхРасходов(/*
	СтруктураШапкиДокумента,
	ХарактерЗатрат
	*/)
		{
			/*// Формирование запроса по затратам, в части транспортных расходов.
*/
			/*ЗапросПоЗатратам = СформироватьЗапросПоЗатратам(
		СтруктураШапкиДокумента, 
		ХарактерЗатрат,
		Перечисления.ВидыРасходовНУ.ТранспортныеРасходы,
		ВидСравнения.Равно
		);*/
			//РезультатЗапросаПоЗатратам = ЗапросПоЗатратам.Выполнить();
			if(true/*РезультатЗапросаПоЗатратам.Пустой()*/)
			{
			}
			/*// Формирование запроса по базе распределения.
*/
			/*ЗапросБазаРаспределения = СформироватьЗапросБазаРаспределенияПоПродажам(
		СтруктураШапкиДокумента,
		ХарактерЗатрат
	);*/
			//РезультатЗапросаБазаРаспределения = ЗапросБазаРаспределения.Выполнить();
			/*СтруктураИмен = Новый Структура("
		|Затраты, 
		|Операция
		|");*/
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			/*// Распределим расходы по продажам.
*/
			/*РаспределитьТранспортныеРасходы(
		СтруктураШапкиДокумента,
		РезультатЗапросаПоЗатратам,
		РезультатЗапросаБазаРаспределения,
		ХарактерЗатрат,
		СтруктураДвижений
	);*/
			if(true/*СтруктураДвижений.ДвиженияЗатраты.Модифицированность()*/)
			{
				//СтруктураДвижений.ДвиженияЗатраты.Записать(Ложь);
			}
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И СтруктураДвижений.Операция.Модифицированность()*/)
			{
				//СтруктураДвижений.Операция.Записать(Ложь);
			}
		}
		// РаспределениеТранспортныхРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// Процедура сворачивает движения по регистрам.
		//

		public void СвернутьДвиженияПоРегистрам(/*СтруктураШапкиДокумента*/)
		{
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
			}
			//СтруктураИмен = Новый Структура("Операция");
			//СтруктураДвижений = ПолучитьНаборыДвижений(СтруктураШапкиДокумента, СтруктураИмен);
			//РегистрБухгалтерииНаборЗаписей = СтруктураДвижений.Операция;
			//РегистрБухгалтерииНаборЗаписей.Прочитать();
			//СвернутьТаблицуДвиженийРегистраБухгалтерии(РегистрБухгалтерииНаборЗаписей);
			if(true/*РегистрБухгалтерииНаборЗаписей.Модифицированность()*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СвернутьДвиженияПоРегистрам()
		// Процедура сворачивает движения по регистру бухгалтерии
		//
		// Параметры:
		//	РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Новый набор записей регистра бухгалтерии
		//

		public void СвернутьТаблицуДвиженийРегистраБухгалтерии(/*
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			//ИзмеренияСтр = "Период, Регистратор, Активность, СчетДт, СчетКт";
			//МетаРег = РегистрБухгалтерииНаборЗаписей.Метаданные();
			//СубконтоСтр = "";
			//РесурсыСтр = "";
			//РесурсыСтр = Сред( РесурсыСтр, 3);
			//ТаблицаРегистраБухгалтерии = РегистрБухгалтерииНаборЗаписей.Выгрузить();
			//ТаблицаРегистраБухгалтерии.Свернуть(ИзмеренияСтр + СубконтоСтр, РесурсыСтр);
			//СтруктРесурсы = Новый Структура(РесурсыСтр);
			//СтруктПоиска  = Новый Структура;
			//МассивПустСтрок = ТаблицаРегистраБухгалтерии.НайтиСтроки(СтруктПоиска);
			//СтруктПоля = Новый Структура(ИзмеренияСтр + ", " + РесурсыСтр);
			//РегистрБухгалтерииНаборЗаписей.Очистить();
			//РегистрБухгалтерииНаборЗаписей.Записать();
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*РегистрБухгалтерииНаборЗаписей.Количество() = 1000*/)
			{
				//РегистрБухгалтерииНаборЗаписей.Записать(Ложь);
			}
		}
		// СвернутьТаблицуДвиженийРегистраБухгалтерии()
	}
}
